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


在这个程序中,我们将了解如何使用 8085 从字节块中找到最大数。

问题陈述

编写 8085 汇编语言程序,以从字节块中查找最大数。

讨论

在这个程序中,数据存储在 8001H 及其之后的地址中。8000H 存储着块的大小。执行此程序后,它将返回最大数,并将其存储在 9000H 地址处。

逻辑很简单,我们将第一个数字存储到寄存器 B 中以开始工作。在每次迭代中,我们从内存中获取数字并将其存储到寄存器 A 中。然后,如果 B < A,则我们只需将 B 的值更新为 A,否则继续进行下一次迭代。因此,我们可以找到字节块中的最小数。

输入

地址
数据
...
...
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
F007
23
LOOP
INX H
指向下一个位置
F008
7E


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


CMP B
比较累加器和 B
F00A
DA, 0E, F0


JC SKIP
如果 B > A,则跳过
F00D
47


MOV B, A
如果 CY 为 0,则更新 B
F00E
0D
SKIP
DCR C
递减 C
F00F
C2, 07, F0


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


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


MOV M, B
存储最小数
F016
76


HLT
终止程序

输出

地址
数据
...
...
9000
66
...
...

更新于: 2019-07-30

21K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.