【发布时间】:2021-11-17 19:54:32
【问题描述】:
call [edi+0x21] 在 x86-64 指令集下有效吗?根据英特尔手册,FF /2 仅对 r/m64 有效,但我正在使用输出 67 ff 57 21 测试在线编码器/解码器。是我使用的工具有误,还是我的理解有误?
【问题讨论】:
标签: assembly x86 x86-64 disassembly
call [edi+0x21] 在 x86-64 指令集下有效吗?根据英特尔手册,FF /2 仅对 r/m64 有效,但我正在使用输出 67 ff 57 21 测试在线编码器/解码器。是我使用的工具有误,还是我的理解有误?
【问题讨论】:
标签: assembly x86 x86-64 disassembly
地址大小和操作数大小是独立的。即使您使用 32 位地址,内存操作数仍然可以具有 64 位大小。所以是的,call [edi+0x21] 是有效的 64 位模式指令,编码 67 ff 57 21 也是正确的。
【讨论】: