微處理器 - 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] 
廣告