汇编指令和操作码之前的额外2E前缀?

时间:2018-04-24 06:36:45

标签: assembly x86

当我跟踪一个汇编程序时,我遇到了一条指令“CALL DWORD PTR CS:[& KERNEL32.GetPrivateProfileIntA>],带有操作码2E:FF15 84244100!现在我有兴趣知道:

  1. 虽然与操作码相关的操作码是EA,但为什么使用上面提到的操作码呢?

  2. 2E:FF15之前的内容是什么?

1 个答案:

答案 0 :(得分:3)

2e是CS段覆盖。

FF /2 is call r/m32。调用的目标位于内存操作数中。 (即它从内存加载新的EIP)。如果没有CS前缀,它将使用DS段的基址/限制作为该寻址模式。

EA is far jump所以我认为你的意思是E8,这是通常的呼叫rel32的操作码。)