8085程式查詢累加器中置位位


在這裡我們將學習如何查詢累加器資料中置位位的位置。

問題陳述

編寫8085組合語言程式來查詢位為1的位置。在累加器中,所有位都為0,只有一個位為1。我們必須獲得值為1的位的位置。位置將以十進位制形式顯示,從1到8。

討論

我們取一個類似(0010 0000)的數字。位值為6。因此,我們透過進位將數字向右旋轉。如果進位位為1,則我們中斷迴圈並在記憶體位置F051處獲得結果。

輸入

地址
資料
F050
20

 

地址
資料
F050
80

 

流程圖

 

程式

地址
十六進位制程式碼
標籤
指令
註釋
F000
3A, 50 F0
 
LDA F050
將記憶體中的數字載入到累加器中
F003
0E, 00
 
MVI C,00H
清零C標誌
F005
1F
LOOP:
RAR
帶進位的右移累加器
F006
0C
 
INR C
C加1
F007
D2, 05, F0
 
JNC LOOP
如果C不為1,跳轉到LOOP
F00A
79
 
MOV A,C
將C的值移到A
F00B
32, 51, 50
 
STA F051
將結果儲存到記憶體中
F00E
76
 
HLT
終止程式

 

輸出

地址
資料
F051
06

 

地址
資料
F150
08

 

 

 

 

 

更新於:2019年7月30日

366 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告