通过将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 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告