8085程序用于加两个16位数


在本程序中,我们将了解如何添加两个16位数。

问题陈述

编写8085汇编语言程序,以添加存储在内存位置8000H – 8001H和8002H – 8003H中的两个16位数。

讨论

在本程序中,我们使用HL和DE寄存器对指向操作数地址。然后使用ADD运算符添加LSBytes,然后使用ADC运算符添加MSBytes以考虑进位标志结果。16位结果将存储在BC寄存器中,并且通过检查加法后的进位位,我们可以简单地将1放入内存中。

我们取两个数字BCAD + FE2D = 1BADA

输入

地址
数据
...
...
8000
AD
8001
BC
8002
2D
8003
FE
...
...


流程图

程序

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


LXI H,8000H
指向第一个操作数的LSB
F003
11, 02, 80


LXI D,8002H
指向第二个地址的LSB
F006
1A


LDAX D
将Acc加载到DE指向的内容
F007
86


ADD M
将HL指向的内存元素与Acc相加
F008
4F


MOV C, A
将LSB结果存储在C中
F009
23


INX H
指向第一个操作数的下一个字节
F00A
13


INX D
指向第二个操作数的下一个字节
F00B
1A


LDAX D
将Acc加载到DE指向的内容
F00C
8E


ADC M
将HL指向的内存元素与Acc + Carry相加
F00D
47


MOV B,A
将MSB存储在B中
F00E
60


MOV H,B
将B移动到H
F00F
69


MOV L,C
将C移动到L
F010
22, 50, 80


SHLD 8050H
将结果存储在8050H和8051H中
F013
D2, 1B, F0


JNC DONE
跳到结束
F016
3E, 01


MVI A, 01H
将1加载到Acc
F018
32, 52, 80


STA 8052H
将Acc内容存储到8052H
F01B
76
DONE
HLT
终止程序


输出

地址
数据
...
...
8050
DA
8051
BA
8052
01
...
...

更新于: 2019年7月30日

15K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始
广告