在x86-64汇编中,我有以下说明
mov dx, word [esi-5]
Nasm2.13.03生成:
66 67 8B 56 FB
yasm1.3.0生成:
67 66 8B 56 FB
66 67操作码是修饰符,因此它8B 56 FB本身就是:
mov edx, dword [rsi-5]
我注意到:
66 8B 56 FB
还评估为:
mov dx, word [rsi-5]
我有两个问题:
1)为什么nasm&yasm发出这个67操作码字节填充?(67仅靠它自己不足以减少edx到dx,它需要包含66) 2)有没有办法在没有nasm / yasm 的情况下
发出较短的 4 字节指令? 67