我目前正在尝试编写反汇编程序。我找到了以下操作码列表及其含义,所以我决定在运行时解析它:http://web.archive.org/web/20150810224114/http: //mprolab.teipir.gr/vivlio80X86/pentium.txt
但我被困在操作码 0x00:后面是 reg/modbyte。解析它对我来说不是什么大问题。
但是我在使用 Scale-Index-Base 字节时遇到了问题:
如果您实际上将 esp 指定为索引寄存器,这实际上意味着没有索引寄存器。
这同样适用于带有 ebp 的基址寄存器。但我已经用 C++ 内联汇编器尝试过: 可以编译:
add [ebp*2+ebp],cl
那么当使用ebp作为基址寄存器时,如何将ebp用作基址寄存器实际上意味着根本不使用基址寄存器!?