解答关于进制转换的问题,附,转换程序
附一个16位二进制数(也就是4位16进制数)转化为10进制(压缩BCD码)的小程序
bintobcd16: ;in, r2,r3 (low in r2, high in r3) ;out r4,r5,r6 (low in r4,high in r6) clr a mov r4,a mov r5,a mov r6,a mov r7,#16 bintobcd16re1: mov a,r2 rlc a mov r2,a mov a,r3 rlc a mov r3,a 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,bintobcd16re1 ret
输出最大为65535,是5位数,所以r6只有低半字节有数据。 |
|