在x86程序集中的LEA

这个问题在这里已经有了答案:

  • LEA指令的目的是什么? 14个答案

  • 基本上

    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经常用于执行基本的算术运算。

    链接地址: http://www.djcxy.com/p/72371.html

    上一篇: LEA in x86 assembly

    下一篇: How does lea instruction get the operand's address?