CRC循环冗余校验(CCITT-16)
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CRC 循环冗余校验(CCITT-16)
START
MOVLW
DATAe
MOVWF ADDR
;将[e 00]余式表首地址DATAe 存入ADDR SWAPF BYTEa ,0ANDLW 0FH ;求e 和e 指定的[e 00]余式高字节的相对地址ADDWF
ADDR ,1
;取其绝对地址,存入ADDR MOVF
ADDR ,0
;把这一绝对地址再存入W
CALL TABLE ;查表,返回时h e 00放
W 中
MOVWF RESULTh ;把
h e 00
存
RESULTh
MOVLW 16ADDWF ADDR ,0;求e 指定的[e 00]
式低字节的绝对地址CALL TABLE ;查表,返回时l e 00放W 中
MOVWF RESULTl ;把l e 00存入RESUL MOVLW DATAf MOVWF ADDR ;将[f 00]余式表首
址DATAf 存入ADDR
MOVF BYTEa ,0ANDLW
0FH
;求f 和f 指定的[f 0
余式高字节的相对址
ADDWF ADDR ,1;取其绝对地址,存ADDR
MOVF ADDR ,0;把这一绝对地址再存W
CALL TABLE ;查表,返回时h f 00放
W 中
XORWF RESULTh ,0;h e
00与h f
00异或,
h a 00,存入W XORWF BYTEb ,0;h a 00与b 异或,h abc ,存入W
MOVF BYTEa ;h abc 存入BYTEa
MOVLW 16ADDWF ADDR ,0;求f 指定的[f 00]式低字节的绝对地址CALL
TABLE
;查表,返回时l f 00放W 中