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
原文地址:https://www.cnblogs.com/roseAT/p/10080756.html