⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crc16_r024.asm

📁 用于51单片机的CRC16 校验程序
💻 ASM
字号:
;占用R0 B A 但超高速,24i
        CRCH    DATA  30H
        CRCL    DATA  31H
        CRCT    DATA  32H
        ORG     0H
BEGIN:
        MOV     CRCH,#0H
        MOV     CRCL,#0H
        MOV     R1,#34H
        MOV     34H,#01BH
        MOV     35H,#0E2H
        MOV     36H,#0DBH
        ACALL   CRC1B
        INC     R1
        ACALL   CRC1B
        INC     R1
        ACALL   CRC1B
        SJMP    BEGIN
;;;;;;;;;;;;;;;;;;;;;;;;
;半字节CRC校验程序
;CRC结果 : CRCH CRCL
;数据指针: @R1=DATS 
;占用:A B  @R0=CRCH  
;;;;;;;;;;;;;;;;;;;;;;;;
CRC1B:
;计算   CRCA = CRCH xor Dat[i]
         MOV  A,@R1
         XRL  A,CRCH
         MOV  B,A           ;CRCH = CRCH xor Dat[i]
;计算   CRCB = (CRCA div 16)  xor (CRCA and $0f0)
         SWAP A
         XRL  A,B
         MOV  CRCH,A
;CrcH:= CrcL xor (CRCT*16+CRCT div 8) xor ((CRCA and $f0) div 8);
         MOV  R0,#CRCH
         ANL  A,#0F0H
         RL   A
         XCHD A,@R0             ;A=$21*T  CRCT= T*16+T div 8
         XCH  A,@R0
         XRL  A,CRCL
         XCH  A,@R0             ;A= $21*T       CRCH= CrcL xor (CRCT*16+CRCT div 8) 
         MOV  CRCL,A
         MOV  A,B
         ANL  A,#0F0H
         XRL  CRCL,A            ;CrcL:= (CRCA and $f0) xor ($21*(CRCB));
         SWAP A
         RL   A
         XRL  CRCH,A
         RET  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -