8085程序:数组中数字求和


在这个程序中,我们将学习如何使用8085微处理器添加数据块。

问题陈述

编写8085汇编语言程序,对数组中的数字进行求和,其中数组大小为N,N的值已给出。

讨论

在这个问题中,我们使用地址8000H保存块的长度。主块从地址8010H开始存储。我们将结果存储在地址9000H和9001H。9000H保存低字节,9001H保存高字节。

我们重复地从内存中读取数字,然后将其与累加器相加,当进位标志被设置时增加寄存器E的内容。初始时E被清零。

输入

地址数据
.
.
.
.
.
.
800008
.
.
.
.
.
.
8010AF
80112E
80127C
801381
80142C
8015BF
8016FB
80171C
.
.
.
.
.
.

流程图

程序

地址十六进制代码标签助记符注释
F00021, 00, 80
LXI H, 8000H加载地址以获取数字个数
F0034E
MOV C,M将计数值加载到C中
F00421, 10, 80
LXI H, 8010H将起始地址加载到HL中
F007AF
XRA A清零累加器
F0085F
MOV E, A也清零E寄存器
F00986LOOPADD M将内存内容与累加器相加
F00AD2, 0E, F0
JNC SKIP当进位为假时,跳过下一任务
F00D1C
INR E当C标志被设置时,增加E
F00E0DSKIPDCR C将C寄存器减1
F00F23
INX H指向下一个位置
F010C2, 09, F0
JNZ LOOP当零标志为假时,跳转到LOOP
F01321, 00, 90
LXI H,9000H加载地址以存储结果
F01677
MOV M,A保存累加器内容
F01723
INX H增加HL对
F01873
MOV M,E存储进位
F01976
HLT结束程序

输出

地址数据
.
.
.
.
.
.
9000DC
900103
.
.
.
.
.
.

更新于:2019年7月30日

2K+ 次浏览

启动您的职业生涯

完成课程后获得认证

开始学习
广告