8085 微處理器中的指令暫存器 (IR)
IR(指令暫存器)是一個特殊用途的暫存器,用於接收指令的 8 位操作碼部分。程式設計師無法訪問它。這意味著沒有指令可以讓程式設計師用他選擇的數值載入它。例如,指令集 8085 中不存在諸如“MOV IR, D”或“MVI IR, 45H”之類的指令。因此,在程式設計師對 8085 的檢視中沒有顯示 IR 暫存器。
讓我們考慮一個例子。首先,PC 載入值為 8000H。這是透過鍵入“Go”鍵,然後鍵入“8000”,最後鍵入“Exec”鍵來完成的。然後,8085 執行以下操作。它傳送 8000H 地址,這是 PC 的內容。它從位置 8000H 接收 21H,這是 LXI H 的操作碼。它被接收在一個稱為指令暫存器(簡稱 IR)的 8 位暫存器中,如下所示。
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | T 狀態 | 註釋 |
|---|---|---|---|---|---|
| 8000 | 21 (IR) 50 (Z) 80 (W) | START | LXI H, 8050H | 10 | 將 HL 對設定為源記憶體的指標。 |
| 8003 | 11 (IR) 70 (Z) 80 (W) | LXI D, 8070H | 10 | 將 DE 對設定為目標記憶體的指標 | |
| 8006 | 76 (IR) | HLT | 5 | 停止 |
因此,在上面的示例中,首先 IR 將由 21H 載入,即地址 8000H 處的 LXI H 指令。然後由 11H 載入,即地址 8003H 處的 LXI D 指令,最後由 76H 載入,即地址 8006H 處的 HLT 指令。IR 具有自動增量功能,這在從記憶體中線性執行指令時非常有用。另一方面,當指令 LXI 正在執行時,臨時暫存器 W 和 Z 保持 16 位地址 8050H,然後是 8070H,如表所示。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP