hb2.asm

来自「这是我最近写的一些单片机的简单的模块」· 汇编 代码 · 共 33 行

ASM
33
字号
;HB2功能:双字节十六进制整数转换成双字节bcd码整数
org 000h
jmp 40h
org 40h
;入口条件:待转换的双字节数在r6,r7种
;出口信息:转换后的三字节bcd码放在r3,r4,r5中
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码带进位自身相加,相当于乘
     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
jmp $
ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?