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+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告