从 Intel64 和 IA-32 手册第 2a 卷中,有许多可能的指令用法mov
。如:
mov r64, m64 # move m64 to r64
mov rax, moffs64 # move quadword at (offset) to RAX
我编写了代码来测试(gas,intel 语法):
movabs rax, label
movabs rax, offset label
...
label:
.quad 0x112233445566
在组装、链接和 objdump 之后,我得到了相关的组装:
mov rax, qword ptr ds:0xffff80000000008e
mov rax, 0xffff80000000008e
显然,我写的第二条指令不是预期的手动指令。手册中的格式说明是什么?