MOV与LEA

Posted libbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MOV与LEA相关的知识,希望对你有一定的参考价值。

MOV

  • 格式:MOV dest, src
  • 作用:赋值,且不改变标记位的值
  • 特点:可以从寄存器到寄存器、从立即数到寄存器、从存储单元到寄存器、从立即数到储存单元、从寄存器到存储单元、从寄存器或存储单元到段寄存器(除CS寄存器);立即数不能值接送段寄存器
  • [ ]作用:
    • 对于变量:有无[ ]都表示取值
    • 对于寄存器:有[ ]表示取地址,无[ ]表示取值

LEA

(Load Effective Address)

  • 格式:LEA dest, src
  • 作用:将源操作数的偏移地址给目的操作数,即返回的是src的地址;另外,LEA指令具有单时钟周期,执行效率很高。
  • [ ]作用:
    • 对于变量:有无[ ]都表示取地址
    • 对于寄存器:有[ ]表示取值,无[ ]表示取地址(正好与MOV相反)

举例

  • 对于计算EAX*4+EBX+3,结果放入EDX
    • MOV
    MOV EDX, EAX
    SHL EDX, 4
    ADD EDX, EBX
    ADD EDX, 3
    • LEA
    LEA EDX, [EBX + EAX * 4 + 3]

参考:https://blog.csdn.net/fengyuanye/article/details/85715565

以上是关于MOV与LEA的主要内容,如果未能解决你的问题,请参考以下文章