8085 微处理器中两个 8 位数的减法程序


在这里我们将看到一个 8085 程序。在这个程序中,我们将看到如何减去两个 8 位数。

问题陈述 -

编写一个 8085 汇编语言程序,以减去两个 8 位数并将结果存储在位置 8050H 和 8051H

讨论 -

在 8085 中,SUB 指令使用 2 的补码方法进行减法。当第一个操作数较大时,结果将为正数。完成减法后,它不会启用进位标志。当结果为负数时,结果将以 2 的补码形式表示,并且进位标志将被启用。

我们正在使用位置 8000H 和 8001H 处的两个数字。当数字为 78H 和 5DH 时,结果将为 (78 – 5D = 1B),当数字为 23H 和 CFH 时,结果将为 (23 – CF = 154)。这里的 1 表示数字为负数。实际结果是 54H。它是 2 的补码形式。

输入

第一个输入

地址
数据


8000
78
8001
5D


第二个输入

地址
数据


8000
23
8001
CF


 

流程图

程序

地址
十六进制代码
标签
助记符
注释
F000
0E, 00


MVI C,00H
清除 C 寄存器
F002
21, 00, 80


LXI H,8000H
加载初始地址以获取操作数
F005
7E


MOV A,M
将 Acc 加载到内存元素
F006
23


INX H
指向下一个位置
F007
46


MOV B,M
将 B 加载到第二个操作数
F008
90


SUB B
从 A 中减去 B
F009
D2, 0D, F0


JNC STORE
当 CY = 0 时,转到 STORE
F00C
0C


INR C
将 C 增加 1
F00D
21, 50, 80
STORE
LXI H,8050H
加载目标地址
F010
77


MOV M,A
存储结果
F011
23


INX H
指向下一个位置
F012
71


MOV M,C
存储借位
F013
76


HLT
终止程序

 

输出

第一个输出

地址
数据


8050
1B
8051
00


第二个输出

地址
数据


8050
54
8051
01


更新于: 2019年10月9日

6K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告