📄 mcobcdtu.asm
字号:
;********************MCOBCDTU********************
;本程序实现多字节压缩BCD码数转化为非压缩BCD码。
;入口参数:原非压缩BCD码地址在SADR中,字节数在CNT中(小于128字节)。
;出口参数:结果存放在以原数据地址为首地址的RAM中,地址在SADR中,字节数在CNT中。
;占用资源:W,FSR,STATUS,020H,021H,023H,028H,029H,02AH,一重堆栈。
IFNDEF MCOBCDTU1
#DEFINE MCOBCDTU1
MCOBCDTU MOVF SADR,W
MOVWF TEMP2
MOVF CNT,W
MOVWF TEMP3
ADDWF CNT,W
MOVWF CNT ;结果字节数
ADDWF SADR,F
DECF SADR,F ;结果最高位地址
DECF TEMP3,W
ADDWF TEMP2,F ;原数据最高位字节地址
LOOP34 MOVF TEMP2,W
MOVWF FSR
SWAPF INDF,W
MOVWF TEMP1 ;暂存
MOVF SADR,W
MOVWF FSR
MOVF TEMP1,W
ANDLW 0FH
MOVWF INDF
DECF FSR,F
SWAPF TEMP1,W
ANDLW 0FH
MOVWF INDF
DECF TEMP2,F
DECF SADR,F
DECF SADR,F
DECFSZ TEMP3,F
GOTO LOOP34
INCF SADR,F
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -