Back to main page
I've had a lot of visitors but few comments! Let me hear from you! Email me at: Gene!

This originally appeared in the May/June 1980 PPX Exhange, V4N3.

Note: These registers are accessed by the keycode 82 which shows up with the printer abbreviation HIR. This keycode is cannot be directly generated on these calculators by pressing a key. So, when you see a program keystroke that says HIR 18 (or 82 18), for example, you must put an 82 into program mode followed by an 18. Here's how you do this: Press STO 82. That puts the keycode 42 82 into memory. Then press C', that puts an 18 in memory. So the three steps taken together are 42 82 18. Go back now and use the Del function to get rid of the 42, and you have 82 18, the HIR instruction you wanted.

The TI-58/59 contain eight internal memory registers which are not mentioned in the Personal Programming Manual. These registers are the hierarchy registers. They were designed to temporarily store operands during execution of arithmetic and for certain internal preprogrammed functions (Sigma+, Mean, OP 11-15, P->R, and DMS). Each time a pending operation is called upon, whether the result of the use of parentheses or by the AOS entry method, one more HIR (Hierarchy) register is used.

AOS is the method the TI-58/59 use to arrive at the answer to a computation. For example, 3+10-2*14/4 =? has only 9 as its one and only answer. Below is the example showing its affect on the hierarchy registers.

```Enter/Press     Display     Comments
3 +             3        3 is stored in HIR 1
10              10        10 is in the display register
3 is still in HIR 1
-            13        13 is computed and stored in HIR 1
2 *             2        2 is stored in HIR 2
14 /            28        result of 2 * 14 is stored in HIR 2
7               7        7 is in the display register
=             9        All computations complete.```
Note that a number is not placed into a HIR register until an operator is pressed.

The hierarchy registers can be accessed and manipulated through program memory by the use of the HIR command, keycode 82. This command expects a two-digit XY number to follow it. X stands for one of the following HIR register operations:

```X         Operation
0           STO
1           RCL
2           Unknown
3           SUM
4           Prd (Product)
5           INV SUM
6-9         INV Prd```

Y stands for the hierarchy register to be accessed (1-8). XY may be generated in the same way as the HIR 82 keycode, if it is not a valid keycode.

Here's an example. HIR's can be very useful, but are very hard to debug. You must also watch out for certain built-in functions that affect them.

Key the following sequence into LRN mode, starting at step 000.
LBL A, 4 * ( 3 - 2 * ( 6 - 1 * ( 8 - 7 * ( 5 - 9 INV SBR. This sequence causes all 8 hierarchy registers to be filled with the 4 into register 1, the 3 in register 2....and the 5 in register 8, and the 9 in the display register.

If you pressed A and then pressed equal, you would get the answer of 252.

Now, however, key in the following at step 24 of program memory: LBL B, A, HIR 13 = R/S.

That will be keycodes 46, 12, 11, 82, 13, 95, 91. If you press B, you'll see the answer displayed as -140. What did the HIR 13 do?

When the HIR 13 was executed, it recalled into the display the contents of hierarchy register 3, which has a value of 2. This overwrites the 9 that was in the display and executes the calculation with the 2 rather than the 9. This yields the different result.

Although these instructions can be useful, care must be exercised. The following table indicates the calculator functions that interfere or use HIR registers. Note: INV Mean is standard deviation.

```                                  HIRs used for      Total
HIRs
Function       HIR #7  HIR #8   pending operations     used
Sigma+           x       x              0                2
INV Sigma+       x       x              0                2
Mean                                    1                1
INV Mean                 x              2                3
OP 11                                   2                2
OP 12                    x              3                4
OP 13                                   4                4
OP 14                    x              3                4
OP 15                    x              3                4
P -> R           x       x              1                3
INV P -> R       x       x              2                4
DMS                      x              2                3
INV DMS                  x              2                3
```
The functions that specifically require hierarchy registers 7 and 8 have an "x" in the first two columns of the table. The third column shows the number of HIR registers needed to store the pending operations involved in solving the specific function. The HIRs used start with the lowest available hierarchy register and follow sequentially as needed. The lowest available depends on the number of pending operations at the time the function is called. For example, the key sequence 5 + 6.2 DMS stores 5 as a pending operation in HIR register 1 after the + is pressed. This causes the DMS function to use HIR registers 2 and 3. DMS also uses HIR register 8.

Other notes:
1) OP 01 through OP 04 use HIR registers 5 through 8.
2) CMS, CLR and CE will NOT clear HIRs, but OP 00 will clear HIRs 5 through 8.
3) Negative exponent numbers are handled incorrecly unless the number in the display register is in the EE (or Eng) format.
4) If any operation (STO, SUM, Prd, INV SUM, INV Prd) is performed into a pending operation that holds a subtraction, the operation will be changed to an addition. A similar thing happens if the register is holding a division and an operation is performed on the register: the division is changed into a multiply.

That's it. Enjoy.