8085微處理器中查詢資料陣列中最小數的程式


在這個程式中,我們將學習如何使用8085查詢一組位元組中最小的數字。

問題陳述

編寫8085組合語言程式,以查詢一組位元組中最小的數字。

討論

在這個程式中,資料從8001H地址開始儲存。8000H地址儲存著資料塊的大小。程式執行完畢後,最小值將儲存在9000H地址。

邏輯很簡單,我們首先將第一個數字載入到暫存器B中。在每次迭代中,我們從記憶體中讀取數字並將其儲存到暫存器A中。然後,如果B > A,則我們將A的值更新到B,否則繼續進行下一次迭代。這樣我們就可以找到一組位元組中最小的數字。

輸入

地址
資料
...
...
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暫存器減1
F007
23
LOOP:
INX H
指向下一個位置
F008
7E


MOV A, M
將下一個數字從記憶體移動到累加器
F009
B8


CMP B
比較累加器和B暫存器
F00A
D2, 0E, F0


JNC SKIP
如果B <= A,則跳過
F00D
47


MOV B, A
如果進位標誌CY為1,則更新B暫存器
F00E
0D
SKIP:
DCR C
C暫存器減1
F00F
C2, 07, F0


JNZ LOOP
當計數器不為0時,跳轉到LOOP
F012
21, 00, 90


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


MOV M, B
儲存最小值
F016
76


HLT
程式結束

輸出

地址
資料
...
...
9000
11
...
...

更新於:2019年7月30日

11K+ 瀏覽量

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告