【发布时间】:2017-07-03 01:44:23
【问题描述】:
这是我遇到的行为示例。
当汇编以下程序时:
[BITS 32]
mov eax, 0x1234
使用:
nasm -f bin in.asm -o out.bin
我得到以下二进制输出:
B8 34 12 00 00
B8 是 'move into eax' 的操作码,它应该采用 32 位值并将其放入其中(即应该只是 B8 34 12)。而是添加一个额外的00 00,就好像它是一个 64 位值一样。
我不知道这是否是 NASM 特有的问题,因为我没有尝试过其他汇编程序。
【问题讨论】: