寻址方式
有效地址——操作数所在单元的地址
寻址方式——产生有效地址的方式
8086的寻址方式有:
1、立即寻址
2、直接寻址
3、寄存器寻址
4、寄存器间接寻址
5、基址寻址
6、变址寻址
7、基址变址寻址
8、相对基址变址寻址
1.立即寻址
操作数直接放在指令中,紧跟在操作码之后
立即寻址示例eg1:
MOV AH,-40 ;-40-->AH
MOV AH, 0D8H
MOV AX, -40 ;0FFD8H-->AX
2.寄存器寻址
操作数存放在某个寄存器中,指令指定寄存器号
寄存器寻址示例eg2:
MOV AH, BL ;(BL)-->AH
MOV SI, AX ;(AX)-->SI
MOV VALUE, AX ;(AX)-->VALUE单元
说明:立即和寄存器寻址方式不需要访问内存储器即可得到操作数,速度快
3.直接寻址
操作数地址的偏移量(有效地址)在指令中
物理地址=指令段的段基地址*16+偏移量
系统默认,操作数在数据段
eg3:
MOV AX, [1000H]
4. 寄存器间接寻址
操作数在存储器中,操作数地址的偏移量在寄存器(BX、BP、SI、DI之一)中
5.基址寻址
操作数的有效地址是基址寄存器(BX、BP)的内容加上指令中指定的位移量(8位或16位)
6.变址寻址
操作数的有效地址是变址寄存器(SI、DI)的内容加上指令中指定的位移量(8位或16位)
7.基址变址寻址
操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和
8.相对基址变址寻址
操作数的有效地址是一个基址寄存器内容、一个变址寄存器内容及位移量之和