使用查找表查找数字的平方值的8085程序


现在让我们来看一个Intel 8085微处理器的程序。这个程序主要是为了求一个数字的平方。

问题陈述

编写8085汇编语言程序,使用查找表查找数字的平方。

讨论

在这个例子中,我们使用查找表来查找数字的平方。这个程序的主要限制是它只能找到0-F范围内的平方。当输入大于F时,它将失败。我们将平方结果存储到内存中。当数字大于F时,我们将FFH存储到内存中以指示错误。

我们从8000H位置获取数字,查找表存储在9000H位置。

查找表如下所示。

数字平方值
0000
0101
02
04
03
09
04
10
05
19
06
24
07
31
08
40
09
51
0A
64
0B
79
0C
90
0D
A9
0E
C4
0F
E1

输入

第一个输入

地址
数据
.
.
.
.
.
.
8000
06
.
.
.
.
.
.

第二个输入

地址
数据
.
.
.
.
.
.
8000
0C
.
.
.
.
.
.

第三个输入

地址
数据
.
.
.
.
.
.
8000
25
.
.
.
.
.
.

流程图

程序

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

LXIH, 9000H
指向查找表地址
F003
3A,00, 80

LDA 8000H
获取数据
F006
FE,0F

CPI 0FH
检查输入是否> 15D
F008
DA,13, F0

JC AFTER
检查数字是否大于0A
F00B
3E, FF

MVIA, FFH
将FFH加载到A
F00D
32,50, 80

STA 8050H
为大于15D的数字存储FFH
F010
C3,1B, F0

JMP DONE
结束程序
F013
4F
AFTER
MOVC, A
添加所需的地址
F014
06,00

MVIB,00H
清除寄存器B
F016
09

DAD B
将BC与HL对相加
F017
7E

MOVA, M
从查找表中获取结果
F018
32,50, 80

STA 8050H
存储结果
F01B
76
DONE
HLT
终止程序

输出

第一个输出

地址
数据
.
.
.
.
.
.
8050
24
.
.
.
.
.
.

第二个输出

地址
数据
.
.
.
.
.
.
8050
90
.
.
.
.
.
.

第三个输出

地址
数据
.
.
.
.
.
.
8050
FF
.
.
.
.
.
.

更新于: 2020年6月26日

4K+浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告