8085程序求前n个自然数之和


在这个程序中,我们将学习如何计算前n个自然数之和。

问题陈述

编写一个8085汇编语言程序来计算前N个自然数之和。N的值已给出。

讨论

我们从内存地址8000H获取N的值。我们将数字N用作计数变量,在每一步中,我们计算(A + 计数)的值,并将它们存储到A中。加完之后,计数器值递减,因此完成了整个序列的计算。

如果数字是23H(35D),则总和将是(35*36)/2 = 630 (276H)

输入

地址
数据
.
.
.
.
.
.
8000
23
.
.
.
.
.
.


流程图

程序

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


LXI H,8000H
指向获取上限的地址
F003
4E


MOV C, M
将上限加载到C寄存器
F004
AF


XRA A
清零A寄存器
F005
47


MOV B, A
也清零B寄存器
F006
81
LOOP:
ADD C
将C加到A
F007
D2, 0B, F0


JNC SKIP
如果CY = 0,跳过下一步
F00A
04


INR B
如果CY = 1,则增加B
F00B
0D
SKIP:
DCR C
C减1
F00C
C2, 06, F0


JNZ LOOP
直到Z = 1,跳转到LOOP
F00F
21, 50, 80


LXI H, 8050H
指向目标地址
F012
77


MOV M, A
存储累加器内容
F013
23


INX H
指向下一个位置
F014
70


MOV M, B
存储高位字节
F015
76


HLT
结束程序


输出

地址
数据
.
.
.
.
.
.
8050
76
8051
02
.
.
.
.
.
.

更新于:2019年7月30日

2K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告