文档介绍:微机接口技术
1
8086的寻址方式
8086的指令系统
第三章指令系统
2
8086的寻址方式
3
(1)立即寻址
(2)寄存器寻址
(3)直接寻址*
(4)寄存器间接寻址
(5)寄存器相对寻址方式
(6)基址变址寻址方式
(7)相对基址变址寻址方式
( 8) 其它
4
(1)立即寻址
例如:MOV AX,1234H ;十六进制数1234H送入AX。
如图3-1所示。
5
(2)寄存器寻址
操作数存放在指令规定的寄存器中,对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DL,SP或BP;而对8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH或DL。
例如:MOV AX,BX ;将寄存器BX的内容送入AX。
如图所示。
6
(3)直接寻址
在 IBM PC 机中,把操作数的偏移地址称为
有效地址EA (Effective Address)。
如果指令中没有用前缀指明操作数存放在哪
一段,则默认为使用的段寄存器为数据段寄存器
DS,因此,操作数的物理地址为16×DS+EA,即为
10H×DS+EA。
7
例如:MOV AL,DS:[2000H] ;将逻辑地址为DS:2000单元内的字节送入AL。
若段基址DS=4000H,则段起始物理地址为4000H左移4位,即40000H,此指令将数据段中物理地址为42000H 单元的内容56H传至AL寄存器。
如图所示。
8
段超越前缀:
如果要对代码段堆栈段或附加段寄存器所指出的存储区进行直接寻址,应在指令中指定段超越前缀。
例如,数据若放在附加段中,则应在有效地址前加“ES:”,“:”称为属性修改符,计算物理地址时要用ES作基地址,而不再是默认值DS。
MOV AX , ES:[500H]
9
符号地址:
MOV AX , AREA1
MOV AX , [AREA1]
10