8085程式,獲取所有D7和D1位都為0的數字


在這裡,我們將學習如何使用8085獲取所有D7和D1位都為0的數字。

問題陳述

編寫8085程式,從一個數組中獲取所有D7和D1位都為0的數字。數字儲存在8001開始,陣列大小儲存在8000。將結果從9000開始儲存。

討論

為了解決這個問題,我們將數字與82H(1000 0010)進行AND運算。如果結果為0,則該數字是可接受的。只有當D7和D1位都為0時,結果才會為0。

輸入

地址
資料


8000
0A
8001
E9
8002
D3
8003
61
8004
AD
8005
2A
8006
1F
8007
5D
8008
A6
8009
A9
800A
35


 

流程圖

 

程式

地址
十六進位制程式碼
標籤
助記符
註釋
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
E6, 82
 
ANI 82H
將A與82H進行AND運算
F00B
C2, 10, F0
 
JNZ SKIP
如果A不為0,則跳過
F00E
12
 
STAX D
否則將A儲存到DE指向的記憶體中
F00F
13
 
INX D
指向下一個位置
F010
0D
SKIP
DCR C
計數器減1
F011
C2, 07, F0
 
JNZ LOOP
如果c不為0,則跳轉到LOOP
F014
76
 
HLT
終止程式

 

輸出

地址
資料


9000
61
9001
54
9002
35


更新於: 2019年7月30日

346 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.