與數據有關的尋址方式:
立即數尋址:
特點:操作數通過指令直接給出。操作數爲8位或者16位。
形式:
MOV AL, 5
MOV AX,1234H
寄存器尋址:
特點:操作數放在寄存器內,直接使用寄存器來使用數據。包括8位或16位通用寄存器和段寄存器。可使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、BP;AX、BX、CX、DX可分成兩8位使用。
形式:
MOV AX,BX
有效地址組成:
- 位移量(displacement):是存放在指令中的一個8位、16位或32位的數,是一個地址。
- 基址(base):是存放在基址寄存器(BX)中的內容。 它是有效地址中的基址部分,通常用來指向數據段中數組或字符串的首地址。
- 變址(index):是存放在變址寄存器(SI,DI)中的內容。它通常用來訪問數組中的某個元素或字符串中的某個字符。
段前綴:
在某些情況下,80x86允許程序員用段跨越前綴來改變系統所指定的默認段,如允許數據存放在除DS段以外的其他段中,此時程序中應使用段跨越前綴(如ES:EA)。但在以下三種情況下,不允許使用段跨越前綴。
1. 串處理指令的目的串必須用ES段;
2. PUSH指令的目的和POP的源必須用SS段;
3. 指令必須存放在CS段中。