📄 32位二进制数转为asc码.txt
字号:
;;;;;;;;;;;;;32位的二进制到BCD码的转换
;Bin2BCDT - 将 Temp 寄存器内的二进制数转ASC码 *
BIN2BCDT32
movf ACCBHI,W
movwf s0
movF ACCBLO,W
movwf s1
movF ACCCHI,w
movwf s2
movF ACCCLO,w
movwf s3
call B2_BCD32
call Over032
RETLW 0
B2_BCD32
bcf status,carry
movlw .32
movwf count3
clrf r0
clrf r1
clrf r2
clrf r3
clrf r4
loop1632
rlf s3,1
rlf s2,1
rlf s1,1
rlf s0,1
rlf r4,1
rlf r3,1
rlf r2,1
rlf r1,1
rlf r0,1
decfsz count3,1
goto adjdec32
retlw 0
adjdec32
movlw r4
movwf fsr
call adjbcd32
movlw r3
movwf fsr
call adjbcd32
movlw r2
movwf fsr
call adjbcd32
movlw r1
movwf fsr
call adjbcd32
movlw r0
movwf fsr
call adjbcd32
goto loop1632
adjbcd32
movlw 3
addwf 0,w
movwf temp
btfsc temp,3
movwf 0
movlw 30h
addwf 0,w
movwf temp
btfsc temp,7
movwf 0
retlw 0
Over032 ;将BCD码转成ASC码,
;结果存在rohi,r0lo,r1hi,r1lo,r2hi,r2lo(r0为高位)
movf r0,w
movwf tempr0
andlw 0fh
movwf r0lo
swapf tempr0,w
andlw 0fh
movwf r0hi
;..........................
movf r1,w
movwf tempr0
andlw 0fh
movwf r1lo
swapf tempr0,w
andlw 0fh
movwf r1hi
;..........................
movf r2,w
movwf tempr0
andlw 0fh
movwf r2lo
swapf tempr0,w
andlw 0fh
movwf r2hi
;.........................
movf r3,w
movwf tempr0
andlw 0fh
movwf r3lo
swapf tempr0,w
andlw 0fh
movwf r3hi
;.........................
movf r4,w
movwf tempr0
andlw 0fh
movwf r4lo
swapf tempr0,w
andlw 0fh
movwf r4hi
;.........................
movlw 30h
addwf r0hi,1
addwf r0lo,1
addwf r1hi,1
addwf r1lo,1
addwf r2hi,1
addwf r2lo,1
addwf r3hi,1
addwf r3lo,1
addwf r4hi,1
addwf r4lo,1
RETLW 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -