操作和字节顺序

Operations and endianess

我通过使用 gdb 看到当字节从内存复制到寄存器时它们被反转,如果正在使用的系统采用小端法。

因为,据我所知,x86 汇编指令集不允许操作数都在内存中的操作,我想知道:是否有任何操作直接对小端值执行而不先反转?

这个答案对于有经验的人来说可能有点奇怪,但是提问者要找的东西叫做MOVBE。它确实将数据原样(!)(与他的论点相关)复制到寄存器中。它并非在所有架构上都可用,但仍然是针对此特定问题的最佳解决方案。所以

的答案

I was wondering: is there any operation which is performed directly on little endian values without being reversed first?

是:MOVBE 确实按要求的顺序复制字节。