8085微處理器中的IN a8指令
在8085指令集中,**IN**是一個助記符,代表將輸入埠的內容輸入到累加器中。輸入埠的8位地址在指令中表示為**a8**。它在記憶體中佔用2個位元組。第一個位元組指定操作碼,下一個位元組提供8位的輸入埠地址。
| 助記符,運算元 | 操作碼(十六進位制) | 位元組數 |
|---|---|---|
| 輸入埠地址 | DB | 2 |
IN F0H是這種型別的示例指令。該指令執行的結果如下例所示。
| 執行前 | 執行後 | |
|---|---|---|
| (A) | 任意值 | ABH |
| 輸入埠F0H | ABH | ABH |
IN指令是唯一用於將輸入埠內容讀取到累加器的指令。連線地址為F0H的輸入埠的可能的晶片選擇電路如下所示。

輸入埠F0H的晶片選擇電路
這裡,由於埠地址為F0H,因此A7到A0的位應該具有位模式
A7 A6 A5 A4 A3 A2 A1 A0 =1 1 1 1 0 0 0 0, with RD* = 0, and IO/M* = 1
所有這些位將透過一個與非門產生輸出邏輯1作為晶片選擇(CS),因此輸入埠晶片被選中。因此,當8085發出地址F0H、IO/M*為1、RD*為0時,晶片做出響應。換句話說,我們認為它具有輸入埠號F0H。
請注意,可以有一個地址為F0H的輸出埠和一個地址為F0H的輸入埠。當8085發出地址EFH和IO/M*為1時,只有一個根據RD*和WR*訊號的狀態值被選中。因此,可以總共有256個輸入埠和256個輸出埠。
| 地址 | 十六進位制程式碼 | 助記符 | 註釋 |
|---|---|---|---|
| 2000 | DB | IN F0H | 來自埠地址F0H的內容將被寫回累加器 |
| 2001 | F0 | F0H作為埠地址 |
針對此指令**IN F0H**執行的時序圖如下所示:

**總結** − 因此,此指令**OUT**需要2個位元組、3個機器週期(操作碼提取、記憶體讀取、I/O讀取)和10個T狀態才能執行,如時序圖所示。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP