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的主要内容,如果未能解决你的问题,请参考以下文章
请教各位高手,MOV SP,OFFSET TOP与LEA SP,TOP这两条指令都是一个意思,其中MOV指令为啥要加OFFSET?
汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)
Android 逆向x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )