有多种CRC,生成多项式是什么?

解决方案 »

  1.   

    UCHAR  _cdecl CComm::CRC_8(UCHAR* strBuf,DWORD& dwLengthToBeCalculate)
    {
    UCHAR bCRC;
    if(dwLengthToBeCalculate==0) return 0;
    __asm
    {
    pushf;
    mov edx,strBuf;
    mov ebx,dwLengthToBeCalculate;
    mov ebx,[ebx];
    mov ah,[edx];
    dec ebx;
    jz crc4
    crc1: inc edx;
    mov al,[edx];
    mov ecx,8;
    crc2: shl ax,1;
    jnc crc3;
    xor ah,7;
    crc3: loopnz crc2;
    dec ebx;
    jnz crc1;
    crc4: mov al,0;
    mov ecx,8;
    crc5: shl ax,1;
    jnc crc6;
    xor ah,7;
    crc6: loopnz crc5;
    mov bCRC,ah;
    popf;
    }
    return bCRC;
    }
      

  2.   

    CRC?我用过的是把所有的BYTE异或得到