8085 微處理器中查詢陣列中最大數的程式


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

問題陳述

編寫 8085 組合語言程式,以從位元組塊中查詢最大數。

討論

在這個程式中,資料儲存在 8001H 及其之後的地址中。8000H 儲存著塊的大小。執行此程式後,它將返回最大數,並將其儲存在 9000H 地址處。

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

輸入

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


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


CMP B
比較累加器和 B
F00A
DA, 0E, F0


JC SKIP
如果 B > A,則跳過
F00D
47


MOV B, A
如果 CY 為 0,則更新 B
F00E
0D
SKIP
DCR C
遞減 C
F00F
C2, 07, F0


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


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


MOV M, B
儲存最小數
F016
76


HLT
終止程式

輸出

地址
資料
...
...
9000
66
...
...

更新於: 2019-07-30

21K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告