一、數據傳送類指令
數據傳送類指令主要分爲 “源地址” 和 “目的地址” 兩個部分。
- 寄存器-寄存器
- 寄存器-存儲器 ( 指令)
- 存儲器-寄存器 (指令)
- 存儲器-存儲器
- 堆棧操作: (入棧), (出棧)
- 清零、置1: (清零), (置1)
二、運算類指令
算術運算
加、減、乘、除、求補、浮點、十進制運算
邏輯運算
與、或、非、異或
其他運算
位測試、位清楚、位求反
三、移位指令
一般來說,有 8 種移位指令:
算術左移、算術右移、邏輯左移、邏輯右移、小循環左移、小循環右移、大循環左移、大循環右移。
四、轉移指令
無條件轉移指令
直接跳轉到某處,不取決於任何條件。類似 C 中的 goto 語句,例如 JMP LOOP。
條件轉移指令
根據機器當前的程序狀態字中的某位來決定是否執行轉移,例如 。
: 如果當前指令運算結果爲0,則會跳轉到 LOOP 標號處。
調用與返回指令
類比 C 程序中的函數調用,以及函數返回。例如 、
子程序調用特點:
- 子程序可以在多處被調用
- 子程序調用可以嵌套
- 與 指令配對使用
- 要妥善保存子程序的返回地址
陷阱(TRAP)指令
- 一旦機器運行出現意外故障(未定義指令、除0、設備故障、電壓不穩),計算機發出陷阱信號(陷阱隱指令),暫停當前指令的執行,轉入故障處理程序。陷阱指令不提供給用戶使用,由機器自動執行。
- 也有某些機器提供陷阱指令,例如 IBM-PC 提供的 INT xx 軟中斷指令,用來完成系統調用。
五、輸入輸出指令
對 I/O 單獨編址對計算機,設置有專門的輸入輸出指令,用來操縱外設,如下所示。
- (外設端口 CPU 的寄存器)
- (CPU 的寄存器 外設端口)
六、其他指令
- 停機指令、空操作指令、開中斷指令、關中斷指令、置條件碼指令
- 字符串傳送、字符串比較、字符串查詢
- 特權指令(操作系統用)
- 向量指令
- 多處理機指令