MOV AX,ES:[BX] 指令中,源操作数字段的寻址方式是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MOV AX,ES:[BX] 指令中,源操作数字段的寻址方式是啥?相关的知识,希望对你有一定的参考价值。
只要告诉我这种情况是什么寻址方式就可以了,呵呵
参考技术A MOV AX,ES:[BX]他的源操作数就是 es:[bx]
这种方式就叫作“寄存器间接寻址” 参考技术B 寄存器间接寻址
80x86有7大寻址方式
1、立即寻址
mov cx,2129h
2、寄存器寻址
mov cx,ax
3、存储器寻址
mov cx,[2000h]
4、寄存器间接寻址
mov cx,[bp]
5、寄存器相对寻址
mov cx,[bx+1000h]
6、基址变址寻址
mov cx,[bx+si]
7、相对基址变址寻址
mov cx,[bp+si+100h]本回答被提问者和网友采纳 参考技术C 寄存器间接寻址--
实现BX的内容加上123 并把和送到寄存器AX
① 一条指令
1 LEA AX,[BX+123]
②两条指令
1 ADD BX,123 2 MOV AX,BX
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
以上是关于MOV AX,ES:[BX] 指令中,源操作数字段的寻址方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章