8085线性查找程序


在本程序中,我们将学习如何使用8085在字节块中搜索元素。

问题陈述

编写8085汇编语言程序,使用线性搜索技术在一个数据块中搜索关键值。

讨论

在这个程序中,数据存储在8002H到8007H的位置。8000H包含块的大小,8001H保存要搜索的关键值。执行此程序后,它将返回找到项目的数据地址,并将地址存储在9000H和9001H位置。如果找不到项目,它将返回FFFFH。

如果数据存在于FFFFH内存地址中,它也会存储FFFFH,所以这是一个模棱两可的情况。我们假设数据没有存储在FFFFH中,所以我们选择该值来表示数据不存在。

输入

地址数据
......
800006
800155
800211
800322
800433
800544
800655
800766
......


流程图

程序

地址十六进制代码标签助记符注释
F00021, 00, 80
LXI H,8000H指向获取数组大小
F0034E
MOV C, M获取数组大小
F00423
INX H指向下一个位置
F00546
MOV B, M获取要搜索的关键值
F00678
MOV A, B将关键值放入累加器
F00723LOOPINX H指向下一个位置
F008BE
CMP M将内存元素与累加器中的值比较
F009CA, 19, F0
JZ FOUND当Z标志被设置时,跳转到FOUND
F00C0D
DCR C将C减1
F00DC2, 07, F0
JNZ LOOP当计数器不为0时,跳转到LOOP
F01021, FF, FF
LXI H, FFFF将FFFFH加载到HL寄存器对
F01322, 00, 90
SHLD 9000H存储到9000H
F016C3, 1C, F0
JMP DONE跳转到DONE
F01922, 00, 90FOUNDSHLD 9000H存储到9000H
F01C76DONEHLT终止程序


输出

地址数据
......
900006
900180
......

更新于:2019年7月30日

浏览量:1K+

开启您的职业生涯

完成课程获得认证

开始学习
广告