3字节十六进制整数转换成双字节bcd码整数.txt
来自「实用子程序.rar本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了」· 文本 代码 · 共 40 行
TXT
40 行
标号: HB4 功能:3字节十六进制整数转换成双字节BCD码整数
;入口条件:待转换的双字节十六进制整数在36,37,38H 中。
;出口信息:转换后的三字节BCD码整数在R2,R3、R4、R5中。
;影响资源:PSW、A、R2~R7 堆栈需求: 2字节
HB4:CLR A ;;;BCD码初始化
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,A
MOV R7,#18H ;;转换3字节十六进制整数
HB5: MOV A,38H ; ;从高端移出待转换数的一位到CY中
RLC A
MOV 38H,A
MOV A,37H
RLC A
MOV 37H,A
MOV A,36H ; ;从高端移出待转换数的一位到CY中
RLC A
MOV 36H,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
DA A
MOV R3,A
MOV A,R2
ADDC A,R2
DA A
MOV R2,A ;;双字节十六进制数的万位数不超过6,不用调整
DJNZ R7,HB5 ;;处理完16bit
RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?