8085程序,获取所有D7和D1位都为0的数字


在这里,我们将学习如何使用8085获取所有D7和D1位都为0的数字。

问题陈述

编写8085程序,从一个数组中获取所有D7和D1位都为0的数字。数字存储在8001开始,数组大小存储在8000。将结果从9000开始存储。

讨论

为了解决这个问题,我们将数字与82H(1000 0010)进行AND运算。如果结果为0,则该数字是可接受的。只有当D7和D1位都为0时,结果才会为0。

输入

地址
数据


8000
0A
8001
E9
8002
D3
8003
61
8004
AD
8005
2A
8006
1F
8007
5D
8008
A6
8009
A9
800A
35


 

流程图

 

程序

地址
十六进制代码
标签
助记符
注释
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
E6, 82
 
ANI 82H
将A与82H进行AND运算
F00B
C2, 10, F0
 
JNZ SKIP
如果A不为0,则跳过
F00E
12
 
STAX D
否则将A存储到DE指向的内存中
F00F
13
 
INX D
指向下一个位置
F010
0D
SKIP
DCR C
计数器减1
F011
C2, 07, F0
 
JNZ LOOP
如果c不为0,则跳转到LOOP
F014
76
 
HLT
终止程序

 

输出

地址
数据


9000
61
9001
54
9002
35


更新于: 2019年7月30日

346 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告