【发布时间】:2011-02-11 19:15:17
【问题描述】:
LEA EAX, [EAX]
我在使用 Microsoft C 编译器编译的二进制文件中遇到了这条指令。它显然不能改变 EAX 的值。那为什么会出现呢?
【问题讨论】:
-
@Potatoswatter:是的,这是二进制的发布版本,所以应该进行优化。另外,我正在使用 ollydbg 进行反汇编。
-
你有这个gem对应的C语句吗?
-
@Wikser:不。这不是一次性的案例。我在同一个二进制文件中看到过一两个像 LEA EBX、[EBX] 这样的人。事实上,我现在正在看屏幕上的最后一个。 Ollydbg 将这个(LEA EBX,[EBX] 即)的操作码显示为“8D9B 00000000”
-
如果是 64 位二进制,那么它只是前 32 位中的一个零
标签: c assembly x86 instruction-set