8085組合語言程式,用於查詢陣列中的最大數


在本程式中,我們將瞭解如何使用8085從一段位元組中找到最大數。

問題陳述

編寫8085組合語言程式,用於從一段位元組中找到最大數。

討論

在本程式中,資料儲存在8001H開始的地址處。8000H包含塊的大小。執行此程式後,它將返回最大數並將其儲存在9000H地址處。

邏輯很簡單,我們將第一個數字儲存到暫存器B中以開始工作。在每次迭代中,我們從記憶體中獲取數字並將其儲存到暫存器A中。然後,如果B < A,則我們只需將B的值更新為A,否則繼續進行下一次迭代。因此,我們可以找到一段位元組中的最小數。

輸入

地址資料
......
800006
800155
800222
800344
800411
800533
800666
......


流程圖

程式

地址十六進位制程式碼標籤助記符註釋
F00021, 00, 80
LXI H,8000H指向獲取陣列大小的地址
F0034E
MOV C,M獲取陣列的大小
F00423
INX H   指向實際陣列的地址
F00546
MOV B,M將第一個數字載入到B中
F0060D
DCR C   C減1
F00723LOOPINX H   指向下一個位置
F0087E
MOV A,M將下一個數字從記憶體獲取到累加器
F009B8
CMP B   比較累加器和B
F00ADA, 0E, F0
JC SKIP如果B > A,則跳過
F00D47
MOV B,A如果CY為0,則更新B
F00E0DSKIPDCR C   C減1
F00FC2, 07, F0
JNZ LOOP    當計數不為0時,跳轉到LOOP
F01221, 00, 90
LXI H,9000H指向目標地址
F01570
MOV M,B儲存最小數
F01676
HLT終止程式


輸出

地址資料
......
900066
......

更新於: 2019年7月30日

3K+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告