8085程式,用於獲取陣列中介於3CH和64H之間的所有數字


在這裡,我們將瞭解如何使用8085從陣列中獲取所有介於3CH和64H之間的數字。

問題陳述

編寫8085程式,從陣列中獲取所有大於或等於3CH且小於64H的數字。數字從8001開始儲存,8000儲存陣列的大小,結果將從9000開始儲存。

討論

為了解決這個問題,我們將從記憶體中獲取數字。然後將其與3C進行比較。如果進位標誌被設定,則表示該數字小於3C,因此只需跳過它。否則將其與64H進行比較,現在如果進位標誌未設定,則表示該數字較大,因此跳過它,否則我們將數字儲存到正確的位置。

輸入

地址
資料


8000
0A
8001
89
8002
56
8003
23
8004
48
8005
3D
8006
2A
8007
4F
8008
59
8009
67
800A
72


 

流程圖

 

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21, 00, 80
 
LXI H,8000
載入陣列的大小
F003
4E
 
MOV C,M
將大小儲存到C中
F004
11, 00, 90
 
LXI D,9000
載入目標地址
F007
23
LOOP
INX H
指向下一個位置
F008
7E
 
MOV A,M
將記憶體中的數字取到A中
F009
FE, 3C
 
CPI 3CH
與3C進行比較
F00B
DA, 15, F0
 
JC SKIP
如果數字小,則跳過
F00E
FE, 64
 
CPI 64H
否則與64H進行比較
F010
D2, 15, F0
 
JNC SKIP
如果數字大,則跳過
F013
12
 
STAX D
否則將A儲存到DE指向的記憶體中
F014
13
 
INX D
指向下一個位置
F015
0D
SKIP
DCR C
將計數器減1
F016
C2, 07, F0
 
JNZ LOOP
如果c不為0,則跳轉到LOOP
F019
76
 
HLT
終止程式

 

輸出

地址
資料


9000
56
9001
48
9002
3D
9003
4F
9004
59


更新於: 2019年7月30日

230 次檢視

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.