[Back to CRC SWAG index]  [Back to Main SWAG index]  [Original]


{
From what I gather from these two routines, in order to "Normalize" a crc
value, you must reverse the order of the four bytes in the value.

Example: crc value =  $01020304
         normalized = $04030201

Am I correct in assuming this?

If so, the two procedures above fail to perform that task, so here is a BASM
routine that I have tested and works perfectly.
}

Procedure Normalize(Var crc: LongInt); Assembler;
ASM
     LES   DI, crc
     MOV   AX, WORD PTR ES:[DI]
     MOV   BX, WORD PTR ES:[DI + 2]
     XCHG  AH, AL
     XCHG  BH, BL
     MOV   WORD PTR ES:[DI + 2], AX
     MOV   WORD PTR ES:[DI], BX
End;

Please forward a copy of your response to Serge Paquin who wrote the original
request for CRC routines.

[Back to CRC SWAG index]  [Back to Main SWAG index]  [Original]