您现在的位置是:首页 > 单片机

双字节十六进制小数转换成双字节BCD码小数

2020-03-22 10:44:03

双字节十六进制小数转换成双字节BCD码小数

入口条件:待转换的双字节十六进制小数在R2、R3中。
出口信息:转换后的双字节BCD码小数仍在R2、R3中。
影响资源:PSW、A、B、R2、R3、R4、R5 堆栈需求:6字节         

HBD2: MOV R4,#4
HBD3: MOV A,R3
MOV B,#10
MUL AB
MOV R3,A
MOV R5,B
MOV A,R2
MOV B,#10
MUL AB
ADD A,R5
MOV R2,A
CLR A
ADDC A,B
PUSH ACC
DJNZ R4,HBD3
POP ACC
MOV R3,A
POP ACC
SWAP A
ORL A,R3
MOV R3,A
POP ACC
MOV R2,A
POP ACC
SWAP A
ORL A,R2
MOV R2,A
RET