透過將8255與8085微處理器介面,減去兩個埠的內容


在這個程式中,我們將看到如何使用埠獲取資料並將結果傳送到埠來執行減法。

問題陳述

編寫 8085 組合語言程式,用於 8085 和 8255 之間的介面。此處埠 A 和埠 B 儲存兩個值,從埠 A 和 B 獲取數字,從 A 中減去 B,並將結果傳送到埠 C。

討論

任務非常簡單。首先,我們必須設定 8255 晶片的控制字暫存器。然後,我們將從埠 A 和 B 獲取輸入,新增內容,並將其傳送到埠 C。

控制字暫存器如下所示。它儲存 92H。

位位置
D7
D6
D5
D4
D3
D2
D1
D0

1
0
0
1
0
0
1
0

 

控制暫存器的位表示如下

 

我們將 92H 載入到 A 中。然後 D7 為 1,因此它作為 IO 模式工作,(D6 和 D5) 為 00,因此它表示埠 A 處於模式 1。D4 = 1,因此埠 A 接收輸入。(D3 和 D0) 為 0 和 0。因此埠 C 不工作。並且 D2 = 0,因為 B 也處於模式 0,D1 = 1,因為它充當輸入埠。

在指令中,我們將看到 **OUT 83**。這裡 83 是控制暫存器埠的埠號。類似地,**IN 80** 表示從埠 A 獲取輸入,其埠地址為 80。而 **IN 81** 表示也從埠 B 獲取輸入。**OUT 82** 表示我們將結果傳送到埠 C。

輸入


資料
A
5C
B
23

 

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
3E, 92
 
MVI A,92
將控制字載入到 A 中
F002
D3, 83
 
OUT 83
將輸出傳送到控制暫存器
F004
DB, 80
 
IN 80
從埠 A 獲取第一個輸入
F006
47
 
MOV B,A
將 A 儲存到 B 中
F007
DB, 81
 
IN 81
從 B 獲取第二個輸入
F009
90
 
SUB B
用 A 減去 B
F00A
D3, 82
 
OUT 82
將輸出傳送到 C
F00C
C9
 
RET
返回

 

輸出


資料
C
39

 

更新於: 2019年7月30日

435 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.