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的补码形式表示。

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

输入

第一个输入

地址
数据
.
.
.
.
.
.
8000
78
8001
8000H
.
.
.
.
.
.

78H

地址
数据
.
.
.
.
.
.
8000
23
8001
第二个输入
.
.
.
.
.
.

8001H

5DH

地址
流程图
程序
十六进制代码
标签
助记符
注释

F000
0E,00
MVIC,00H
21,00, 80

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

加载初始地址以获取操作数
F005
7E
23

MOVA, M
将累加器A加载内存单元
F006
46

03
INX H
指向下一个位置
90

F007
7E
MOVB, M
将B寄存器加载内存单元

F008
98
SUB B
从A中减去B

F009
D2,0D, F0
JNC STORE
21,50, 80
当CY = 0时,跳转到STORE
F00C
0C
INR C
77

C加1
F00D
STORE
23

MOVA, M
将累加器A加载内存单元
21,50,80
71

LXIH,8050H
加载目标地址
F010
76

77
MOVM, A

存储结果

F011

地址
数据
.
.
.
.
.
.
8050
03
8051
00
.
.
.
.
.
.

INX H

地址
数据
.
.
.
.
.
.
8050
54
8051
01
.
.
.
.
.
.

77

MOVM, C

8051程序:两个8位数的减法

8085程序:交换两个8位数

8085程序:两个8位数的加法
8085程序:两个8位数的乘法
8086程序:两个8位BCD数的减法