8085程式查詢數字的階乘


在這個程式中,我們將瞭解如何查詢數字的階乘。

問題陳述

編寫8085組合語言程式以查詢8位數字的階乘。

討論

在8085中,沒有直接指令可以執行乘法。我們需要執行重複加法才能獲得乘法的結果。在每一步中,我們都在減小B的值並乘以B的上一個值。我們重複這些步驟,直到B達到1。並將B – 1至0。 因此生成階乘。

輸入

地址
資料
8000
05

流程圖

 

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21, 00, 80
 
LXI H, 8000H
載入數字
F003
46
 
MOV B,M
將記憶體中的數字取到B
F004
16, 01
 
MVI D, 01H
將D設定為01H
F006
CD, 10, F0
FACT
CALL MUL
呼叫乘法
F009
05
 
DCR B
將B減1
F00A
C2, 06, F0
 
JNZ FACT
如果Z = 0,則跳轉到Fact
F00D
23
 
INX H
指向下一個位置
F00E
72
 
MOV M,D
將結果儲存到記憶體中
F00F
76
 
HLT
終止程式
F010
58
MUL
MOV E,B
將B載入到E
F011
AF
 
XRA A
清除累加器以儲存結果
F012
82
ML
ADD D
將D加到A
F013
1D
 
DCR E
遞減E
F014
C2, 12, F0
 
JNZ ML
如果Z = 0,則跳轉到ML
F017
57
 
MOV D,A
將A的內容傳輸到D
F018
C9
 
RET
返回結果

輸出

地址
資料
8001
78

更新於: 2019年7月30日

9K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.