8085 中的 RIM 指令


在 8085 指令集中,讀取中斷掩碼。這是一個 1 位元組的多用途指令。它用於以下目的。

  • 檢查 RST7.5、RST6.5 和 RST5.5 是否被遮蔽;

  • 檢查中斷是否啟用;

  • 檢查 RST7.5、RST6.5 或 RST5.5 中斷是否掛起;

  • 執行序列資料輸入。


助記符,運算元
操作碼(十六進位制)
位元組
RIM
20
1


為了獲取關於中斷系統的狀態資訊,讀取中斷掩碼指令提供了關於中斷系統的資訊,並且該指令可以用於序列資料輸入。透過這個 RIM 指令,8085 可以知道哪個中斷被遮蔽或未遮蔽等。執行 RIM 指令後累加器的內容提供了這些資訊。

因此,執行讀取中斷掩碼指令後,檢視累加器的內容至關重要。執行讀取中斷掩碼後累加器的各個位的含義如下圖所示:

中斷的掩碼狀態:累加器的低 3 位用於提供中斷的掩碼狀態。請注意,它們不用於遮蔽或取消遮蔽。遮蔽或取消遮蔽必須使用讀取中斷掩碼指令。

位號
用途
位 0
這是 RST5.5 掩碼 (M5.5) 位。
  • 如果 M5.5 = 1,則表示 RST5.5 中斷已被遮蔽。

  • 如果 M5.5 = 0,則 RST5.5 中斷未被遮蔽。

位 1
這是 RST6.5 掩碼 (M6.5) 位。
  • 如果 M6.5 = 1,則表示 RST 6.5 中斷已被遮蔽。

  • 如果 M6.5 = 0,則 RST 6.5 中斷未被遮蔽。

位 2
這是 RST7.5 掩碼 (M7.5) 位。
  • 如果 M7.5 = 1,則表示 RST 7.5 中斷已被遮蔽。

  • 如果 M7.5 = 0,則 RST7.5 中斷未被遮蔽。

中斷啟用 (IE) 狀態:累加器的位 3 在執行讀取中斷掩碼指令後提供 IE 觸發器的狀態。

  • 如果 IE = 1,則表示中斷系統已啟用。如果在執行 RIM 指令之前執行了 EI 指令,則會出現這種情況。

  • 如果 IE = 0,則表示中斷系統已停用。如果在執行 RIM 指令之前發生了以下情況之一,則會出現這種情況。

  • 執行了 DI 指令

  • Intel 8085 已復位

  • Intel 8085 已進入中斷服務子程式。

讓我們在下面的表格中檢視其他狀態位:

位號
用途
位 4
這是中斷掛起 RST5.5 (IP5.5) 位。
  • 如果 IP5.5 = 1,則表示 RST5.5 中斷正在掛起,等待服務。當 RST5.5 中斷引腳被啟用,但 RST5.5 被遮蔽,或中斷系統被停用時,就會出現這種情況。

  • 如果 IP5.5 = 0,則 RST5.5 中斷未掛起。

位 5
這是中斷掛起 RST6.5 (IP6.5) 位。
  • 如果 IP6.5 = 1,則表示 RST6.5 中斷正在掛起,等待服務。

  • 如果 IP6.5 = 0,則 RST6.5 中斷未掛起。

位 6
這是中斷掛起 RST7.5 (IP7.5) 位。
  • 如果 IP7.5 = 1,則表示 RST7.5 中斷正在掛起,等待服務。

  • 如果 IP7.5 = 0,則 RST7.5 中斷未掛起。

8085 微處理器有一個標記為序列輸入資料的引腳。這對於序列資料通訊是必需的。微處理器可以在每個時鐘脈衝讀取 1 位資訊。因此,當執行 RIM 指令時,累加器的最高位接收 8085 的 SID 引腳上的資料。鑑於此,執行 RIM 指令後,累加器位 7 的含義如下:

位號
用途
位 7
這是 SID 位。執行 RIM 指令後,8085 的 SID 引腳上的資料將
載入到此位位置。


讓我們討論一下 8085 的各種中斷的詳細資訊,總結如下表所示。

引腳
優先順序
中斷服務子程式地址
靈敏度
條件
TRAP
最高
0024H
上升沿和高電平
無條件
RST7.5
第二
003CH
上升沿
未遮蔽且 EI
RST6.5
第三
0034H
高電平
未遮蔽且 EI
RST5.5
第四
002CH
高電平
未遮蔽且 EI
INTR
最低
由外部裝置提供
高電平
EI


讓我們考慮以下程式段:

地址
十六進位制程式碼
助記符
註釋
2000
3E
MVI A, 19H
A ← 19H =0001 1001,這意味著 SOD=0,SDE=0,R7.5=1,MSE=1,M5.5=1
2001
19


累加器值 19H
2002
30
SIM
設定中斷掩碼
2003
20
RIM
讀取中斷掩碼。如果累加器獲得值 01H,則表示 SID=0,I7.5=0,I6.5=0,I5.5=0,IE=0,M7.5=0,M6.5=0 和 M5.5=1


此指令讀取中斷掩碼執行的時序圖如下所示:

**總結** − 所以這個讀取中斷掩碼指令需要 1 個位元組、1 個機器週期(操作碼獲取)和 4 個 T 狀態來執行,如時序圖所示。

更新於:2020年6月27日

5K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.