📄 mcobcdshl.asm
字号:
;********************MCOBCDSHL********************
;本程序实现多字节压缩BCD码非循环左移1位(即乘10)。
;入口参数: 原数据地址在SADR中,字节数在CNT中。
;出口参数: 结果首地址在SADR中,字节数在CNT中,移出位在SOU中。
;占用资源: W,STATUS,FSR,020H,023H,024H,一重堆栈。
;说 明: 1.原数据将被冲掉.
IFNDEF MCOBCDSHL1
#DEFINE MCOBCDSHL1
MCOBCDSHL MOVF SADR,W
MOVWF FSR ;首地址
LOOP40 MOVLW 0F0H
ANDWF INDF,W
IORWF SOU,F
MOVLW 0FH
ANDWF INDF,F
ANDWF SOU,W
SWAPF INDF,F
IORWF INDF,F
SWAPF SOU,W
ANDLW 0FH
MOVWF SOU ;SOU低4位:INDF左移1位
INCF FSR,F
DECFSZ CNT,F
GOTO LOOP40
MOVF SADR,W
SUBWF FSR,W
MOVWF CNT ;恢复字节数
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -