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


 

流程图

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

程序

地址
十六进制代码
标签
助记符
注释
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+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告