預置16位寄存器為十六進制FFFF(即全為1)。稱此寄存器為CRC寄存器;
· 把第一個8位數據與16位CRC寄存器的低位相異或,把結果放于CRC寄存器;
· 把寄存器的內容右移一位(朝低位),用0填補最高位,檢查最低位;
· 如果最低位為0:重復第3步(再次移位); 如果最低位為1:CRC寄存器與多項式A001(1010 0000 0000 0001)進行異或;
· 重復步驟3和4,直到右移8次,這樣整個8位數據全部進行了處理;
· 重復步驟2到步驟5,進行下一個8位數據的處理;
· 最后得到的CRC寄存器即為CRC碼。