📄 mubcdneg.asm
字号:
;********************MUBCDNEG********************
;本程序实现多字节非压缩BCD码求补。
;入口参数:待处理的数据地址在SADR中,字节数在CNT中。
;出口参数:结果地址在SADR中,字节数在CNT中.
;占用资源:W,FSR,STATUS,020H,023H,028H,一重堆栈。
;说 明: 0求补还是0.
IFNDEF MUBCDNEG1
#DEFINE MUBCDNEG1
MUBCDNEG MOVF CNT,W
MOVWF TEMP1 ;TEMP1作计数器
MOVF SADR,W
MOVWF FSR
MOVF INDF,W
SUBLW 0AH ;用10减最低位
MOVWF INDF
INCF FSR,F
DECF TEMP1,F
LOOP15 MOVF INDF,W
SUBLW 9 ;用9减其它位
MOVWF INDF
INCF FSR,F
DECFSZ TEMP1,F
GOTO LOOP15
MOVF CNT,W
MOVWF TEMP1 ;重新获得字节数
SUBWF FSR,F ;重新获得首地址
LOOP16 MOVLW 6 ;十进制调整
ADDWF INDF,W
BTFSS STATUS,DC
RETURN
CLRF INDF
INCF FSR,F
INCF INDF,F
DECFSZ TEMP1,F
GOTO LOOP16
DECF INDF,F
RETURN
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -