sub sxt { ((0xffffffff & shift) ^ 0x80000000) - 0x80000000 } ... $crc = ($crc >> 8) ^ ... $crc = sxt $crc; ...