英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: CRC计算 [打印本页]

作者: winnie    时间: 2009-5-25 15:44
标题: CRC计算
;-------8位右移循环冗余码校验------------------
;
;例如:
;       CLRF    CRCOUT
;       CALL    CRCFRB
CALL_CRCFRB     MACRO CRCOUT,COUNT,VALUE,TEMP
CRCFRB
        MACRO_CRCFRB CRCOUT,COUNT,VALUE,TEMP
        RETLW   0
        ENDM
;----------------------------------------------
MACRO_CRCFRB    MACRO CRCOUT,COUNT,VALUE,TEMP
        LOCAL   CRCFRBLOOP,CRCFRBNEXT
        MOVWF   VALUE
        MOVLFB .8,COUNT
CRCFRBLOOP
        MOVF    VALUE,W
        XORWF   CRCOUT,W;异或CRC
        MOVWF   TEMP;暂存
        RRF     TEMP,W;CY
        MOVF    VALUE,W
        BTFSS   STATUS,C
        GOTO    CRCFRBNEXT
        MOVLW   18H;异或x5+x2
        XORWF   CRCOUT,F
CRCFRBNEXT
        RRF     CRCOUT,F
        BCF     STATUS,C
        BTFSC   VALUE,0
        BSF     STATUS,C
        RRF     VALUE,F
        DECFSZ  COUNT,F
        GOTO    CRCFRBLOOP
        ENDM




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://www.enroobbs.com/) Powered by Discuz! X3.2