組合語言筆記(三)——指令系統和定址方式
作者:由 藍二乘 發表于 書法時間:2020-04-23
組合語言指令
彙編指令
偽指令
宏指令
機器指令
機器指令也叫程式碼指令,是計算機可以識別的一組
二進位制程式碼
彙編指令
指令格式
指令格式由
操作碼欄位
和
運算元欄位
組成
運算元欄位:暫存器,儲存單元,立即數
運算元可以有一個,兩個和多個,分別成為單,雙和多運算元指令
指令屬性
指令長度:有單位元組,雙位元組和多位元組指令等
指令執行時間
指令的定址方式
CPU將CS:IP指向的記憶體單元中的內容看作指令
定址方式:
即指令中
提供運算元或者運算元地址
的方式
定址方式的分類
與資料有關
與轉移地址有關
與
資料有關定址方式
分類
立即定址
方式
暫存器定址
方式
儲存器定址
方式
儲存器定址方式分類
立即
定址方式:指令中有
立即數
的定址方式,例如:MOV AX,1290H
暫存器
定址方式:運算元在
暫存器
中的定址方式,例如:MOV AX,BX
直接
定址方式:運算元的有效地址直接放在指令中,例如:MOV AX,DS:[2000H]
段超越:資料不在資料段中,需要在指令中用段超越字首(
段暫存器名加冒號
)指出
暫存器間接
定址方式:EA是間接從暫存器得到,例如:MOV AX,[BX]
暫存器相對
定址方式:EA是一個基址或變址暫存器內容再加上8或16位
位移量之和
,例如:MOV AX,[BX+1234H]
注意:位移量可以為TOP[],TOP為符號地址,即位移量,或者在中括號裡,也可以用小點連線
基址變址
定址方式:EA為一個基址暫存器加變址暫存器的內容,例如: MOV AX,[BX+DI]
相對基址變址
定址方式:EA為一個基址暫存器加變址暫存器加位移量,例如:MOV AX,[MASK+BX+SI]