Motorola IH5 Benutzerhandbuch
5-12
Computer Group Literature Center Web Site
Remote Start Via the PCI Bus
5
Reference Function: srom_crc.c
/*
* srom_crc - generate CRC data for the passed buffer
* description:
*This function’s purpose is to generate the CRC for thepassed
buffer.
* call:
*argument #1 = buffer pointer
*argument #2 = number of elements
* return:
*CRC data
*/
unsigned int
srom_crc(elements_p, elements_n)
register unsigned char *elements_p;/* buffer pointer */
register unsigned int elements_n;/* number of elements */
{
register unsigned int crc;
register unsigned int crc_flipped;
register unsigned char cbyte;
register unsigned int index, dbit, msb;
crc = 0xffffffff;
for (index = 0; index < elements_n; index++) {
cbyte = *elements_p++;
for (dbit = 0; dbit < 8; dbit++) {
msb = (crc >> 31) & 1;
crc <<= 1;
if (msb ^ (cbyte & 1)) {
crc ^= 0x04c11db6;
crc |= 1;
}
cbyte >>= 1;
}
}
crc_flipped = 0;
for (index = 0; index < 32; index++) {