movl和leal指令之间的区别

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

  • LEA指令的目的是什么? 14个答案
  • 汇编leal和movl的区别[复制] 1个回答

  • movl %esi, 0x8(%esi)是内存移动的寄存器。 第一个操作数是一个寄存器,它不引用内存。

    在另一方面, leal %esi, 0x8(%esi)根本不存在,因为你不能把一个寄存器的地址,也lea无法写入内存。

    如果你想复制内存,你通常需要通过一个寄存器,比如:

    movl (%esi), %eax
    movl %eax, 0x8(%esi)
    
    链接地址: http://www.djcxy.com/p/72377.html

    上一篇: difference between movl and leal instruction

    下一篇: movl / leal, difference in this case