Dec 082017
These ASM functions calculate a 32 bit CRC, and are callable from Turbo C or Microsoft C. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
32CRC.ASM | 7892 | 2794 | deflated |
32CRCF.ASM | 4469 | 1494 | deflated |
32CRCF_C.OBJ | 261 | 231 | deflated |
32CRCF_L.OBJ | 268 | 238 | deflated |
32CRCF_M.OBJ | 262 | 234 | deflated |
32CRCF_S.OBJ | 255 | 227 | deflated |
32CRC_C.OBJ | 1372 | 1298 | deflated |
32CRC_L.OBJ | 1378 | 1304 | deflated |
32CRC_M.OBJ | 1374 | 1302 | deflated |
32CRC_S.OBJ | 1368 | 1296 | deflated |
CASM.INC | 3491 | 960 | deflated |
CRCTEST.C | 6149 | 2336 | deflated |
CTIMER.ASM | 8412 | 2730 | deflated |
CTIMER_C.OBJ | 688 | 561 | deflated |
CTIMER_L.OBJ | 698 | 570 | deflated |
CTIMER_M.OBJ | 698 | 570 | deflated |
CTIMER_S.OBJ | 688 | 561 | deflated |
READ.ME | 1034 | 567 | deflated |
Download File MSC_CRC.ZIP Here
Contents of the READ.ME file
Documentation for these functions is in the headers of the ASM source
code. One thing not mentioned there is that in order to get the final
CRC, you need to take the one's complement of the last CRC value.
The functions don't do that for you since you may be calculating on
ongoing CRC. If the CRC you calculate isn't what you expected, check
if the one's complement is it.
If you re-assemble 32CRC.ASM, ignore the warning message, you get from
MASM about operand types must match. It is caused by MASM not
accepting casts on variables declared in the function parameter list.
It assembles OK but you get the warning.
CTIMER.ASM has nothing to do with CRCs but is a nice function for
timing execution speed of functions. If you run CRCTEST several times,
you will notice the elapsed time results are not always consistent.
This is due to timer tick interrupts, etc. occurring varying amounts
of times during the execution of the function being timed.
Mike Dumdei, Split Up the Middle BBS, 214 838-6713
December 8, 2017
Add comments