在x86程序集中的LEA
这个问题在这里已经有了答案:
基本上
mov eax, [esp+0x18]
手段
mov eax, esp
add eax, 0x18
mov eax, [eax]
并在C中看起来像
eax = *(unsigned int*)(esp + 0x18)
与此同时
lea eax, [esp+0x18]
手段
mov eax, esp
add eax, 0x18
并在C中看起来像
eax = esp + 0x18
它将esp + 0x18
存储在eax
。 换句话说,它只是加法。 LEA经常用于执行基本的算术运算。
上一篇: LEA in x86 assembly