入口条件:待转换的双字节十六进制整数在 R6 、 R7 中。出口信息:转换后的三字节BCD码整数在 R3 、 R4 、 R5 中。影响资源: PSW 、A、 R2 ~ R7 堆栈需求: 2字节 HB2 : CLR A;BCD码初始化 MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H ;转换双字节十六进制整数 HB3 : MOV A,R7 ;从高端移出待转换数的一位到 CY 中 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 ;BCD码带进位自身相加,相当于乘2 ADDC A,R5 DA A;十进制调整 MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A ;双字节十六进制数的万位数不超过 6,不用调整 DJNZ R2,HB3 ;处理完16bit RET
双字节十六进制整数转换成双字节BCD码整数 《单片机应用技术》常用程序代码 来自淘豆网m.daumloan.com转载请标明出处.