微处理器 - 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]