8085程序用于减去两个8位数,包含或不包含借位


在这个程序中,我们将了解如何使用8085微处理器减去两个8位数。

问题陈述

编写8085汇编语言程序,用于减去两个8位数,包含或不包含借位,并将结果存储在地址8050H8051H

讨论

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

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

输入

第一个输出

地址数据
.
.
.
.
.
.
800078
80015D
.
.
.
.
.
.

第二个输出

地址数据
.
.
.
.
.
.
800023
8001CF
.
.
.
.
.
.

流程图

地址十六进制代码标签助记符注释
F0000E, 00
MVI C,00H清零C寄存器
F00221, 00, 80
LXI H,8000H加载初始地址以获取操作数
F0057E
MOV A,M将内存元素加载到累加器
F00623
INX H指向下一个位置
F00746
MOV B, M将第二个操作数加载到B
F00890
SUB B从A中减去B
F009D2, 0D, F0
JNC STORE当CY = 0时,跳转到STORE
F00C0C
INR C将C加1
F00D21, 50, 80STORELXI H,8050H加载目标地址
F01077
MOV M, A存储结果
F01123
INX H指向下一个位置
F01271
MOV M, C存储借位
F01376
HLT终止程序

输出

第一个输出

地址数据
.
.
.
.
.
.
80501B
805100
.
.
.
.
.
.

第二个输出

地址数据
.
.
.
.
.
.
805054
805101
.
.
.
.
.
.

更新于: 2019年7月30日

2K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告