📄 mcobcdrol.asm
字号:
;********************MCOBCDROL********************
;本程序实现多字节压缩BCD码循环左移1位。
;入口参数: 原数据地址在SADR中,字节数在CNT中。
;出口参数: 结果首地址在SADR中,字节数在CNT中,移出位在SOU中。
;占用资源: W,STATUS,FSR,020H,023H,024H,028H,一重堆栈。
;说 明: 1.原数据将被冲掉.
IFNDEF MCOBCDROL1
#DEFINE MCOBCDROL1
MCOBCDROL MOVF CNT,W
MOVWF TEMP1
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 TEMP1,F
GOTO LOOP40
MOVF SADR,W ;移出位送往最低位
MOVWF FSR
MOVF SOU,W
IORWF INDF,F
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -