新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 四位16進(jìn)制轉(zhuǎn)換成5位十進(jìn)制源程序

四位16進(jìn)制轉(zhuǎn)換成5位十進(jìn)制源程序

作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
;算法不錯,記錄一下。

;****************************************************
;十六進(jìn)制轉(zhuǎn)換為十進(jìn)制的程序
;四位16進(jìn)制轉(zhuǎn)換成5位十進(jìn)制子程序,
;R2,R3是保存的十六進(jìn)制值
;其中入口R2為低位,R3為高位
;R4(十位,個位)R5(千位,百位)R6(萬位) 為高位
;****************************************************

本文引用地址:http://2s4d.com/article/201611/316892.htm

ORG 100H
HBCD:
;調(diào)試過程中方便R2,R3移出位的變化情況
BITST DATA 20H
R2BIT BIT BITST.0
R3BIT BIT BITST.1

MOV R2,#023H;11011110
MOV R3,#0C2H;11000010
CLR A
NOP
MOV R4,A
MOV R5,A
MOV R6,A

MOV R7,#10H ;設(shè)置循環(huán)指針
HBCD1:
;左移一位,移入C
CLR R2BIT
CLR C ;(清位累加累C)
MOV A,R2 ;將低位數(shù)據(jù)R2送入A
RLC A
MOV R2,A
MOV R2BIT,C


CLR R3BIT
MOV A,R3 ;將高位數(shù)據(jù)R3送入A
RLC A
MOV R3,A
MOV R3BIT,C

;每循環(huán)一下相當(dāng)于乘2
;最高位相當(dāng)于乘2的15次方
;次最高位相當(dāng)于乘2的14次方
;。。。。。。。。。。。。。
MOV A,R4
ADDC A,R4
DA A
MOV R4,A

MOV A,R5
ADDC A ,R5
DA A
MOV R5,A

MOV A,R6
ADDC A,R6
DA A
MOV R6,A

DJNZ R7,HBCD1

LJMP $
END

;RET




關(guān)鍵詞: 16進(jìn)制十進(jìn)

評論


技術(shù)專區(qū)

關(guān)閉