Device 18F2520 XTAL = 4 ALL_DIGITAL = TRUE polynoom var Byte crc var Byte dat var DWord loop var Byte '**************************** subroutines ******************************** calc_crc: crc=0 For loop = 1 To 6 dat = stream [loop] For x = 0 To 7 If (crc & $80) > 0 Then polynoom = $9B Else polynoom = $00 EndIf crc = (crc &~$80)<<1 '& = and ~ = not If (dat & $80)>0 Then crc = crc | 1 '| = or crc = crc ^ polynoom '^ = xor dat = dat<<1 Next x Next loop Return