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+

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告