微处理器 - 8086寻址方式



在指令中表示源操作数的不同方法称为寻址方式。8086编程中有8种不同的寻址方式:

立即寻址方式

数据操作数本身是指令的一部分的寻址方式称为立即寻址方式。

示例

MOV CX, 4929 H, ADD AX, 2387 H,  MOV AL, FFH 

寄存器寻址方式

这意味着寄存器是指令操作数的来源。

示例

MOV CX, AX   ; copies the contents of the 16-bit AX register into  
             ; the 16-bit CX register),  
ADD BX, AX 

直接寻址方式

有效地址直接写入指令中的寻址方式。

示例

MOV AX, [1592H], MOV AL, [0300H]

寄存器间接寻址方式

这种寻址方式允许通过以下寄存器中保存的偏移地址访问任何内存位置的数据:BP、BX、DI和SI。

示例

MOV AX, [BX]  ; Suppose the register BX contains 4895H, then the contents  
              ; 4895H are moved to AX 
ADD CX, {BX} 

基址寻址方式

在这种寻址方式中,操作数的偏移地址由BX/BP寄存器的内容和8位/16位位移的和给出。

示例

MOV DX, [BX+04], ADD CL, [BX+08]

索引寻址方式

在这种寻址方式中,操作数的偏移地址是通过将SI或DI寄存器的内容与8位/16位位移相加得到的。

示例

MOV BX, [SI+16], ADD AL, [DI+16] 

基址索引寻址方式

在这种寻址方式中,操作数的偏移地址是通过将基址寄存器的内容与索引寄存器的内容相加得到的。

示例

ADD CX, [AX+SI], MOV AX, [AX+DI] 

基址索引带位移寻址方式

在这种寻址方式中,操作数的偏移地址是通过将基址寄存器的内容、索引寄存器的内容和8位或16位位移相加得到的。

示例

MOV AX, [BX+DI+08], ADD CX, [BX+SI+16] 
广告