📄 433.asm
字号:
yd5tb16:
mov r20,r18 ;取出万位
mov r19,r17 ;令r19=r17
mov r18,r17 ;令r18=r17
mov r17,r16 ;令r17=r16
andi r16,$0f ;取出个位
andi r17,$f0
swap r17 ;取出十位
andi r18,$0f ;取出百位
andi r19,$f0
swap r19 ;取出千位
rcall d5tb16 ;调用(d5tob16)五位BCD 到16位二进制的转换
ret
d5tb16:
tst r17 ;测试r17
rjmp d5tb16_2
d5tb16_1:
subi r16,-10 ;r16加10
dec r17 ;r17减1
d5tb16_2:
brne d5tb16_1 ;非0转d5tb16_1
tst r18 ;测试r18
rjmp d5tb16_4
d5tb16_3:
subi r16,low(-100) ;(r17:r16)加100
sbci r17,high(-100)
dec r18 ;r18减1
d5tb16_4:
brne d5tb16_3 ;非0转d5tb16_3
tst r19 ;测试r19
rjmp d5tb16_6
d5tb16_5:
subi r16,low(-1000) ;(r17:r16)加1000
sbci r17,high(-1000)
dec r19 ;r19减1
d5tb16_6:
brne d5tb16_5 ;非0转d5tb16_5
tst r20 ;测试r20
rjmp d5tb16_8
d5tb16_7:
subi r16,low(-10000) ;(r17:r16)加10000
sbci r17,high(-10000)
dec r20 ;r20减1
d5tb16_8:
brne d5tb16_7 ;非0转d5tb16_7
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -