8085程序,用于获取数组中介于3CH和64H之间的所有数字


在这里,我们将了解如何使用8085从数组中获取所有介于3CH和64H之间的数字。

问题陈述

编写8085程序,从数组中获取所有大于或等于3CH且小于64H的数字。数字从8001开始存储,8000存储数组的大小,结果将从9000开始存储。

讨论

为了解决这个问题,我们将从内存中获取数字。然后将其与3C进行比较。如果进位标志被设置,则表示该数字小于3C,因此只需跳过它。否则将其与64H进行比较,现在如果进位标志未设置,则表示该数字较大,因此跳过它,否则我们将数字存储到正确的位置。

输入

地址
数据


8000
0A
8001
89
8002
56
8003
23
8004
48
8005
3D
8006
2A
8007
4F
8008
59
8009
67
800A
72


 

流程图

 

程序

地址
十六进制代码
标签
助记符
注释
F000
21, 00, 80
 
LXI H,8000
加载数组的大小
F003
4E
 
MOV C,M
将大小存储到C中
F004
11, 00, 90
 
LXI D,9000
加载目标地址
F007
23
LOOP
INX H
指向下一个位置
F008
7E
 
MOV A,M
将内存中的数字取到A中
F009
FE, 3C
 
CPI 3CH
与3C进行比较
F00B
DA, 15, F0
 
JC SKIP
如果数字小,则跳过
F00E
FE, 64
 
CPI 64H
否则与64H进行比较
F010
D2, 15, F0
 
JNC SKIP
如果数字大,则跳过
F013
12
 
STAX D
否则将A存储到DE指向的内存中
F014
13
 
INX D
指向下一个位置
F015
0D
SKIP
DCR C
将计数器减1
F016
C2, 07, F0
 
JNZ LOOP
如果c不为0,则跳转到LOOP
F019
76
 
HLT
终止程序

 

输出

地址
数据


9000
56
9001
48
9002
3D
9003
4F
9004
59


更新于: 2019年7月30日

230 次查看

开启你的职业生涯

通过完成课程获得认证

立即开始
广告