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