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+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始
广告