def _crc32(self, data):
data_address = <NUM_LIT> <EOL>self.cpu.memory.load(data_address, data)  <EOL>self.cpu.index_x.set(data_address + len(data)) <EOL>addr_hi, addr_lo = divmod(data_address, <NUM_LIT>) <EOL>self.cpu_test_run(start=<NUM_LIT>, end=None, mem=[<EOL><NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, addr_hi, addr_lo, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <EOL><NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <EOL><NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL><NUM_LIT>, <NUM_LIT>, <EOL>])<EOL>d = self.cpu.accu_d.value<EOL>x = self.cpu.index_x.value<EOL>crc32 = x * <NUM_LIT> + d<EOL>return crc32 ^ <NUM_LIT><EOL>
Calculate a ZIP 32-bit CRC from data in memory.
Origin code by Johann E. Klasek, j AT klasek at