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 + -
显示快捷键?