指令格式
機器指令:指令的二進制代碼形式。如:89D8H
彙編指令:助記符形式的指令。如:MOV AX,BX
指令由操作碼和操作數兩部分組成
操作碼:由CPU設計人員定義。每一種操作唯一對應一個操作碼。 例:加法操作助記符ADD;數據傳送操作助記符MOV; 比較操作助記符CMP;
操作數:可由編程人員採用不同方式給出。
尋址方式
指令中給出操作數所在地址的方法。
- 指令中操作數可能存在的地方:
指令中
寄存器
存儲單元
I/O端口 - 對應的尋址方式:
立即尋址
寄存器尋址
存儲器尋址:給出EA的方式多樣,5種。
1、直接尋址
2、寄存器間接尋址
3、基址加變址尋址
4、寄存器相對尋址
5、相對基址加變址尋址
I/O端口尋址
1、立即尋址
指令中的源操作數是立即數,即源操作數是參加操作的數據本身。
立即數可以是8位或16位的整數
2、寄存器尋址
參加操作的操作數存放在CPU的內部寄存器中。 8/16位。
3、直接尋址方式
- 指令中直接給出操作數的16位偏移地址
- 直接尋址方式下,操作數默認爲在數據段,段地址在DS中。
- 但允許段超越。可在指令中增加段超越前綴指出特定段寄存器名。
4、寄存器間接尋址
- 操作數存放在內存中,其偏移地址在指令中指定的寄存器中。
- 存放偏移地址的寄存器可以是:
BX,BP,SI,DI- 操作數的段地址(數據處於哪個段)取決於選擇哪一個寄存器:
BX,SI,DI 默認在數據段,DS
BP 默認在堆棧段,SS
均可使用段超越前綴改變
5、寄存器相對尋址
有效地址是基址或變址寄存器的內容再加上一個8/16位的位移量。
7、基址變址尋址
有效地址由基址寄存器(BX或BP)的內容加上變址寄存器(SI或DI)的內容構成:
8、相對基址變址尋址
在基址-變址尋址的基礎上再加上一個位移量
存儲器操作數尋址時段寄存器的使用約定