This general macro is used as an aid in calculating a slot index for any
data base that requires, and is designed for, a compression algorithm.
When given a unique key from a predefined maximum set of keys, this macro
returns a number that can easily be manipulated to yield a slot index in a
compressed record space. The macro is independent of any data base, but
each data base must be designed for a compression algorithm.
Format
- label
- A symbolic name can be assigned to the macro statement.
- H
- A hexadecimal number (4 bit digits).
- C
- A character representation (0-9, A-Z).
- D
- A decimal number (packed decimal, 4 bit digits).
Entry Requirements
- R15 must contain the address of the data (unique input key) to be
passed.
- R14 contains the count of the number of valid digits. The maximum
number of digits that can be passed is 16 (for hexadecimal representation), 7
(for character representation), or 25 (for decimal representation).
- R9 must contain the address of the ECB being processed.
Return Conditions
- Assuming normal return, R15 contains the "hashed" number which,
when divided by the number of items allocated to the record space, yields the
index for that record. If you specify the C parameter, the data pointed
to by R15 on input is translated on return. On error return, R15 is
zeroed.
- The contents of R14 are unknown. The contents of all other
registers are preserved across this macro call.
- Control is returned to the next sequential instruction.
Programming Considerations
- This macro can be executed on any I-stream.
- The data base must be designed to use a compression algorithm.
- This macro is available for use by any ECB-controlled program.
Examples
None.