ORCRC ;SLC/JM - standard CRC routine ;3/1/06
Source file <ORCRC.m>
Package | Total | Caller Graph |
---|---|---|
Order Entry Results Reporting | 1 | ORCMEDT8 |
Name | Comments | DBIA/ICR reference |
---|---|---|
BIN2HEX(BIN) | ; Converts binary to hex - assumes valid input
|
|
INT2HEX(INT,SIZE) | ; Converts int to hex
|
|
HEX2BIN(HEX) | ; Converts hex to binary - assumes valid input
|
|
XOR(BIN1,BIN2) | ; Exclusive OR of 2 binary numbers - returns binary value
|
|
SHR(BIN,SHIFT) | ; Shift right SHIFT bits of binary number - returns binary value
|
|
TBL | ; CRC table - DO NOT CHANGE THESE VALUES!
|
|
HEX2INT(HEX) | ; Converts hex to integer
|
|
AND(BIN1,BIN2) | ; AND of 2 binary numbers - returns binary value
|
|
CRCTABLE(IDX) | ; Returns crc hex value from table
|
|
CRC4ARRY(ARRAY) | ; Returns a CRC for an array of strings
|
Name | Line Occurrences |
---|---|
$$AND | CRC4ARRY+11, CRC4ARRY+16 |
$$BIN2HEX | CRC4ARRY+12, CRC4ARRY+18 |
$$CRCTABLE | CRC4ARRY+14 |
$$HEX2BIN | CRC4ARRY+4, CRC4ARRY+5, CRC4ARRY+6, CRC4ARRY+10, CRC4ARRY+14 |
$$HEX2INT | CRC4ARRY+12 |
$$INT2HEX | CRC4ARRY+10 |
$$SHR | CRC4ARRY+16 |
$$XOR | CRC4ARRY+11, CRC4ARRY+17 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ARRAY | CRC4ARRY~ |
ARRAY( | CRC4ARRY+7, CRC4ARRY+8 |
BIN | XOR+1~, XOR+2*, XOR+6*, XOR+7*, XOR+8*, XOR+9, AND+1~, AND+2*, AND+6*, AND+7 , SHR~, SHR+1*, SHR+2*, SHR+3, HEX2BIN+1~, HEX2BIN+2*, HEX2BIN+5*, HEX2BIN+6, BIN2HEX~, BIN2HEX+2 , BIN2HEX+3*, BIN2HEX+4, BIN2HEX+6* |
BIN1 | XOR~, XOR+2, XOR+4, XOR+7, AND~, AND+2, AND+5 |
BIN2 | XOR~, XOR+2, XOR+4, XOR+8, AND~, AND+2, AND+5 |
BINTBL | CRC4ARRY+1~, CRC4ARRY+2*, HEX2BIN+5, BIN2HEX+7 |
BIT | XOR+1~, XOR+4*, XOR+5*, XOR+6, AND+1~, AND+4*, AND+5*, AND+6 |
BITS | XOR+1~, XOR+4*, XOR+5 |
CHAR | BIN2HEX+1~, BIN2HEX+7* |
CHR | CRC4ARRY+1~, CRC4ARRY+10*, CRC4ARRY+11 |
DIGIT | BIN2HEX+1~, BIN2HEX+6*, BIN2HEX+7, INT2HEX+1~, INT2HEX+4*, INT2HEX+5, HEX2INT+1~, HEX2INT+4*, HEX2INT+5 |
HEX | HEX2BIN~, HEX2BIN+2, HEX2BIN+4, BIN2HEX+1~, BIN2HEX+4*, BIN2HEX+7*, BIN2HEX+8, INT2HEX+1~*, INT2HEX+5*, INT2HEX+6* , INT2HEX+7, HEX2INT~, HEX2INT+2, HEX2INT+4, HEX2INT+5* |
HEXTBL | CRC4ARRY+1~, CRC4ARRY+3*, HEX2BIN+4, BIN2HEX+7, INT2HEX+4, HEX2INT+4 |
I | CRC4ARRY+1~, CRC4ARRY+9*, CRC4ARRY+10 |
IDX | CRC4ARRY+1~, CRC4ARRY+6*, CRC4ARRY+7*, CRC4ARRY+8, XOR+1~, XOR+3*, AND+1~, AND+3*, HEX2BIN+1~, HEX2BIN+3* , HEX2BIN+4, BIN2HEX+1~, BIN2HEX+5*, HEX2INT+1~, CRCTABLE~, CRCTABLE+2, CRCTABLE+3, CRCTABLE+5, CRCTABLE+6*, CRCTABLE+7 |
IDX1 | XOR+1~, AND+1~ |
IDX2 | XOR+1~, AND+1~ |
INT | INT2HEX~, INT2HEX+3, INT2HEX+4, INT2HEX+5*, HEX2INT+1~*, HEX2INT+3*, HEX2INT+5*, HEX2INT+6 |
LEN | CRC4ARRY+8*, CRC4ARRY+9, XOR+1~, XOR+2*, XOR+3, AND+1~, AND+2*, AND+3, HEX2BIN+1~, HEX2BIN+2* , HEX2BIN+3, BIN2HEX+1~, BIN2HEX+2*, BIN2HEX+3, BIN2HEX+4*, BIN2HEX+5 |
LEN1 | XOR+1~, XOR+2*, XOR+4, XOR+6*, XOR+7, AND+1~, AND+2*, AND+5, AND+6* |
LEN2 | XOR+1~, XOR+2*, XOR+4, XOR+6*, XOR+8, AND+1~, AND+2*, AND+5, AND+6* |
LINE | CRC4ARRY+1~, CRC4ARRY+8*, CRC4ARRY+10, CRCTABLE+1~, CRCTABLE+3*, CRCTABLE+4*, CRCTABLE+7 |
MASK1 | CRC4ARRY+1~, CRC4ARRY+4*, CRC4ARRY+16 |
MASK2 | CRC4ARRY+1~, CRC4ARRY+5*, CRC4ARRY+11 |
OFFSET | HEX2BIN+1~, HEX2BIN+4*, HEX2BIN+5, CRCTABLE+1~, CRCTABLE+5*, CRCTABLE+6 |
RESULT | CRC4ARRY+1~, CRC4ARRY+6*, CRC4ARRY+11, CRC4ARRY+16*, CRC4ARRY+17*, CRC4ARRY+18*, CRC4ARRY+19*, CRC4ARRY+20 |
SHIFT | SHR~, SHR+1, SHR+2 |
SIZE | INT2HEX~, INT2HEX+2*, INT2HEX+6 |
TBLIDX | CRC4ARRY+1~, CRC4ARRY+11*, CRC4ARRY+12*, CRC4ARRY+13, CRC4ARRY+14 |
TBLVALUE | CRC4ARRY+1~, CRC4ARRY+14*, CRC4ARRY+15*, CRC4ARRY+17 |
VALUE | CRCTABLE+1~, CRCTABLE+7*, CRCTABLE+8 |
Name | Field # of Occurrence |
---|---|
$T(TBL+LINE | CRCTABLE+4 |