1.4指令系統簡介
CPU所能完成的操作是由其執行的指令決定的,這些指令稱為機器指令。指令系統
是電腦中硬體與軟體之間的介面
1. 指令格式
指令是指揮電腦完成各種操作的命令,一般來說,一條指令包括兩個基本組成部分
;作業碼和地址嗎。基本格式如下:
作業碼說明指令的功能及操作性質,地址碼用來指出指令的操作對象。它指出
運算元或運算元的地址及指令執行結果的地址
作業碼用二進位編碼來表示,該欄位越長,所能表示的指令就越多,若作業碼的長度為N,則可以表示指令為2 的N次方條,根據指令中地址碼的數量,指令格式分為以下幾種
(1)。三地址指令格式。三地址指令格式為:
其中,OP為作業碼:A1,A2,A3,分別是源運算元1,源運算元2,目的運算元3
的地址,(A1)OP(A2)->(A3)
(2)二地址指令的格式。
(A1)OP(A2)à(A1)
(3)一地址指令格式
在一地址指令中,只給出一個運算元的地址,若操作是針對一個運算元的指令,
其操作為:OP(A)à(A);若操作是針對兩個運算元的一地址指令,通常另一個運算元是隱含的(另一個運算元在累加器中),其操作為:(AC)OP(A)à(AC)
(4)。零地址指令格式,只有作業碼,不含運算元地址
零地址指令在操作上分兩種情況,一種是無運算元的控制操作,如空操作指令NOP;另一種是隱含有運算元,指令中不體現
2.定址方式
就是如何對指令中的地址欄位進行解釋,以擷取運算元的方法或獲得程式轉移地址的方法.
(1).立即定址。運算元就包含在指令中,在形成指令的機器代碼形式時,立即數就跟在指令操作的後面,指出指令時即可得到運算元
(2)直接定址。運算元存放在記憶體單元中,指令中直接給出運算元所在儲存單元的地址。
(3)。寄存器間接定址。運算元存放在記憶體單元中,運算元所在儲存單元的地址在某一個寄存器中,
(4)。寄存器間接定址。運算元存放在記憶體單元中,運算元所在儲存單元的地址在某個寄存器中。
(5)。間接定址。這種定址方式下,指令中給出運算元地址的地址。
(6)。相對定址,指令地址碼給出的是一個位移量,運算元地址等於本條指令
的地址加上該位移量。
(7)。變址定址。運算元地址等於變址寄存器的內容加位移量。
1. 指令的種類
1)資料傳送類指令
這類指令將資料從一個地方傳到另一個地方。主要包括如下指令
(1) 資料傳送指令,一般有兩個運算元地址。源和目的
傳送方式:
將立即數傳送到寄存器
將立即數傳送到儲存單元
將一個寄存器的內容傳送到另一個寄存器
將寄存器的內容傳送到儲存單元
將資料由儲存單元傳送到寄存器
(2) 資料交換指令。主要包括
寄存器與寄存器之間的資料交換
儲存空間單元與寄存器之間的資料交換
儲存空間單元與儲存空間單元之間的資料交換
(3) 堆棧操作指令,主要包括壓入堆棧指令和彈出堆棧指令
2)輸入、輸出I/O類指令
這類指令用於實現主機與外設間的資訊傳送,包括資料的輸入,輸出、主機向
外設發出控制命令以及輸入外設的狀態,通常有三種方法來實現輸入,輸出
3)。算術運算類指令
這類指令支援CPU實現加,減,乘,除等指令
4)邏輯運算指令
5)移位操作指令
。。。
6)。程式控制類指令
程式控制類指令用於改變指令執行的順序各控制流程的方向。
(1)。跳轉指令
(2)。子程式調用和返回指令
(3)陷阱指令:陷阱是一種意外事件所引起的中斷,通常陷阱指令是隱含的
不提供給使用者使用,當意外事件引發中斷後,由CPU自動執行。
7)串操作類指令
8)處理機控制類指令
9)資料轉換類指令