8255與8085微處理器介面實現加法


在這個程式中,我們將學習如何使用埠接收資料並將結果傳送到埠來執行加法。

問題陳述

編寫8085組合語言程式,實現8085和8255之間的介面。埠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**表示從埠地址為80的埠A獲取輸入。**IN 81**表示也從埠B獲取輸入。**OUT 82**表示我們將結果傳送到埠C。

輸入


資料
A
23
B
5C

 

程式

地址
十六進位制程式碼
標籤
助記符
註釋
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
80
 
ADD B
將B與A相加
F00A
D3, 82
 
OUT 82
將輸出傳送到C
F00C
C9
 
RET
返回

 

輸出


資料
C
7F

 

更新於:2019年7月30日

瀏覽量:1K+

啟動您的職業生涯

完成課程獲得認證

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