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 |