标号: HBD2功能:双字节十六进制小数转换成双字节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 ;拼装成低字节BCD码小数 MOV R3,A POP ACC ;取出百分位 MOV R2,A POP ACC ;取出十分位 SWAP A ORL A,R2 ;拼装成高字节BCD码小数 MOV R2,A RET