8085微处理器中查找数据数组中最小数的程序


在这个程序中,我们将学习如何使用8085查找一组字节中最小的数字。

问题陈述

编写8085汇编语言程序,以查找一组字节中最小的数字。

讨论

在这个程序中,数据从8001H地址开始存储。8000H地址存储着数据块的大小。程序执行完毕后,最小值将存储在9000H地址。

逻辑很简单,我们首先将第一个数字加载到寄存器B中。在每次迭代中,我们从内存中读取数字并将其存储到寄存器A中。然后,如果B > A,则我们将A的值更新到B,否则继续进行下一次迭代。这样我们就可以找到一组字节中最小的数字。

输入

地址
数据
...
...
8000
06
8001
55
8002
22
8003
44
8004
11
8005
33
8006
66
...
...

流程图

程序

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


LXI H,8000H
指向获取数组大小的地址
F003
4E


MOV C, M
获取数组大小
F004
23


INX H
指向实际数组
F005
46


MOV B, M
将第一个数字加载到B寄存器
F006
0D


DCR C
C寄存器减1
F007
23
LOOP:
INX H
指向下一个位置
F008
7E


MOV A, M
将下一个数字从内存移动到累加器
F009
B8


CMP B
比较累加器和B寄存器
F00A
D2, 0E, F0


JNC SKIP
如果B <= A,则跳过
F00D
47


MOV B, A
如果进位标志CY为1,则更新B寄存器
F00E
0D
SKIP:
DCR C
C寄存器减1
F00F
C2, 07, F0


JNZ LOOP
当计数器不为0时,跳转到LOOP
F012
21, 00, 90


LXI H,9000H
指向目标地址
F015
70


MOV M, B
存储最小值
F016
76


HLT
程序结束

输出

地址
数据
...
...
9000
11
...
...

更新于:2019年7月30日

11K+ 浏览量

启动您的职业生涯

完成课程后获得认证

开始学习
广告