8085程式用於在n個數字的陣列中搜索一個數字


在本程式中,我們將瞭解如何使用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    當零標誌置位時,跳轉到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日

2K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告