查詢只出現一次的元素的8085程式


在這個程式中,我們將學習如何在元素陣列中查詢只出現一次的數字。

問題陳述

編寫8085組合語言程式,查詢元素陣列中只出現一次的數字。陣列大小儲存在F100地址;數字從F101地址開始儲存。結果將儲存在F150。

討論

這個問題背後的邏輯很簡單。儘管在某些情況下可能會找到一些錯誤的結果。如果只有一個數字出現一次,而其餘數字出現偶數次,則可以找到該數字。

我們對數字進行異或運算。如果一個數字已經存在,並且我們用相同的數字對其進行異或運算,則結果為0。因此,如果相同的數字出現偶數次,我們可以得到0。在累積異或運算之後,最終數字將是頻率為一的那個數字。

輸入

地址
資料

.

.

.

.

.

.

F100
05
F101
0C
F102
0A
F103
01
F104
01
F105
0C

.

.

.

.

.

.

 

流程圖

 

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21, 00, F1
 
LXI H,F100
指向獲取數字計數的地址
F003
AF
 
XRA A
清零累加器
F004
4E
 
MOV C,M
將計數從記憶體載入到C暫存器
F005
23
 
INX H
指向下一個位置
F006
46
LOOP:
MOV B,M
將記憶體內容載入到B暫存器
F007
A8
 
XRA B
將B暫存器與累加器進行異或運算
F008
23
 
INX H
指向下一個位置
F009
0D
 
DCR C
C暫存器減1
F00A
C2, 06, F0
 
JNZ LOOP
如果Z標誌位為0,則跳轉到LOOP
F00D
32, 50, F1
 
STA F150
將數字儲存到F150
F010
76
 
HLT
結束程式

 

輸出

地址
資料

.

.

.

.

.

.

F150
0A

.

.

.

.

.

.

 

 

 

 

 

 

 

 

 

更新於:2019年7月30日

382 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.