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

posted @ 2019-10-05 21:02  libbin  阅读(447)  评论(0编辑  收藏  举报