LEA指令与MOV指令区别
Posted roseat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LEA指令与MOV指令区别相关的知识,希望对你有一定的参考价值。
Tips:
LEA指令与MOV指令的区别:
①
MOV指令是 数据 传送指令-------传送数据
LEA指令是 有效地址 传送指令-------取偏移地址
②
MOV OPRD1 OPRD2
OPRD1: 目的操作数(寄存器,存储器,累加器)
OPRD2: 源操作数(寄存器,存储器,累加器,立即数)
例如:
1 MOV DI,BX ;寄存器到寄存器之间传数
1 MOV AL,23H ;将立即数"复制"到寄存器
1 MOV [2000H],02H ;直接地址
注意:
目的操作数要与源操作数类型一致,不能一个字一个字节
目的或者源操作数之一必须是要有明确的类型
立即数不能作为目的操作数
不能用立即寻址的方法给段寄存器传数
段寄存器or存储单元之间 不能用MOV指令直接传送
----------------------------------------------我是华丽的分割线--------------------------------------------
LEA OPRD1,OPRD2 ;格式
OPRD1: 目的操作数,可为任意一个16位的通用寄存器
OPRD2:源操作数(变量名,标号,地址表达式)
例如:
1 LEA AX,[BX+123] ;BX的内容加上123并把它送到寄存器AX
1 LEA BX,data
1 LEA AX,[1234H] ;作用是将源操作数[1234H]的偏移地址送到AX 2 ;等价于 3 MOV AX,1234H
以上是关于LEA指令与MOV指令区别的主要内容,如果未能解决你的问题,请参考以下文章
请教各位高手,MOV SP,OFFSET TOP与LEA SP,TOP这两条指令都是一个意思,其中MOV指令为啥要加OFFSET?
Android 逆向x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )
Android 逆向x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )