mov eax 0x8000
mov ebx 0x10000
lea esp, [ebx+eax*2]
在这里,我知道目的地是esp。我也知道LEA(加载有效地址)在这种情况下的行为就像移动。但是我不确定该寄存器中存储的值。我这样看:
0x8000 * 2 = 0x80000
0x20000 + 0x10000 = 0x200000
因此该值为:
[0x200000]
我是对的吗?
答案 0 :(得分:1)
检查您的算术,但通常来说您是对的。您正确理解了x86 LEA指令。
x86 LEA指令未取消引用其计算的地址。也就是说,LEA不会前往该地址。相反,LEA只是计算地址供其他指令以后使用。