组装此代码时nasm
:
BITS 64
mov eax, 0x1
mov rax, 0x1
我得到这个输出:
b8 01 00 00 00 b8 01 00 00 00
这是mov eax, 0x1
重复两次的操作码。
这是否意味着总是mov rax, 0x1
可以被替换,或者只是在这种情况下?mov eax, 0x1
如果这是正确的,那么使用它会比:
xor rax, rax
inc rax
因为组装后变成 6 个字节,而mov eax, 0x1
只有 5 个字节?