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] 指令中,源操作数字段的寻址方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

实现BX的内容加上123 并把和送到寄存器AX

汇编语言——[bx]和loop指令

mov指令用法

汇编语言MOV AX,NOT 0F0FH具体啥意思?

汇编指令

学习制作操作系统 0