两字节压缩BCD码转换为二进制数

玛丽莲梦兔
737次浏览
2021年02月08日 10:00
最佳经验
本文由作者推荐

whisper是什么意思-

2021年2月8日发(作者:孙志辉)


两字节压缩


BCD


码转换为二进制数

< p>





设高


8


位(千位和百位即


a3 a2


)放在


R5


中,低


8


位(十位和个位即


a1a0


)放在


R4


中






A= a3


×


1000


+

a2


×


100


+

< br>a1


×


10


+

< br>a0 =


(


a3


×


10


+


a2


)


×


100


+


(

< p>
a1


×


10


+

< p>
a0


)




公共项可用子程序实现






方法一:






ORG





0000H





LJMP





0100H





ORG





0100H


ZHU:








MOV





A , R5





ANL





A , #0F0H





SWAP




A





MOV



R6 , A






MOV




A , R5





ANL





A , #0FH





XCH




A , R5






MOV





A , R4





ANL





A , #0F0H





SWAP




A





MOV



R4 , A






MOV




A , R4





ANL





A , #0FH





XCH




A , R3






MOV




A , R6





MOV




B , #10





MUL




AB





ADD




A , R5





MOV




B , #100





MUL




AB












MOV




R5 , A





MOV




R6 , B



低


8


位放到


R5





MOV




A , R4





MOV



B , #10





MUL




AB





ADD




A , R3






MOV




R4, A






MOV




A , R5





ADD





A , R4





MOV




R4 , A





MOV




A, R6





ADDC



A , #00H





MOV




R6 , A







JIESHU:



END






--


把千位数放到


R6

的低四位




--


把百位数放到


R5


的低四位




--


把十位数放到

< br>R4


的低四位




--


把个位数放到


R3


的低 四位






--


(千位数×


10

< br>+百位数)×


100




--


把


(千位数×


10


+百位数)


×


100


的高


8


位放到


R6


,


--


(十位数×


10


+个位数)


,结果肯定小于


255 < /p>


--


把(十位数×


10

< br>+个位数)的结果放到


R4


--


转换后的二进制数由高到低依次存放到


R6


、


R5


、


R4




whisper是什么意思-


whisper是什么意思-


whisper是什么意思-


whisper是什么意思-


whisper是什么意思-


whisper是什么意思-


whisper是什么意思-


whisper是什么意思-