如何在 Assembly Intel x86 中基于 Endianness 编写
How to write based on Endianness in Assembly Intel x86
执行 movl 100, %eax 后 EAX 中的值是多少?
如果机器是小端? (我朋友的回答)
0x00 0x00 0x00 0x11
我的看法:
0x44332211? Also, does those 0x matter or can I just do one like this?
对于Big Endian:(朋友的回答)
0x11 0x00 0x00 0x00
这里也是,我觉得是:
0x11223344
eax
是一个x86寄存器,所以我们说的是x86架构,是little-endian。
在小端架构上从包含字节 0x11、0x22、0x33、0x44 的内存位置加载 32 位寄存器将导致该寄存器具有值 0x44332211
。这就是 little endian 的意思:反直觉 方式。
执行 movl 100, %eax 后 EAX 中的值是多少?
如果机器是小端? (我朋友的回答)
0x00 0x00 0x00 0x11
我的看法:
0x44332211? Also, does those 0x matter or can I just do one like this?
对于Big Endian:(朋友的回答)
0x11 0x00 0x00 0x00
这里也是,我觉得是:
0x11223344
eax
是一个x86寄存器,所以我们说的是x86架构,是little-endian。
在小端架构上从包含字节 0x11、0x22、0x33、0x44 的内存位置加载 32 位寄存器将导致该寄存器具有值 0x44332211
。这就是 little endian 的意思:反直觉 方式。