Section 13: Indirect Operations201
Indirect Stack and LAST X
Remember form section 5 that you can specify the stack and LAST X as register addresses by simply pressing · (decimal point) and X, Y, Z, T, or L (for LAST X). You can also use the stack and LAST X registers as indirect addresses by simply pressing g · and X, Y, Z, T, or L following the function. For example, to store the number 83.9701 into R11 using stack Z as the indirect address register:
Keystrokes Display    
11 STO · Z 
  11.0000    
  The desired register address (R11) is stored into stack register Z.
83.9701 
  83.9701 _    
   
STO g · Z 
  STO IND Z    
  The HP-41C prompts for the stack address. You can only specify a letter (X, Y, Z, T, or L) here, the HP-41C will not accept any other inputs.
To recall the number that is now in R11 using the stack as the indirect address register:
Keystrokes Display    
RCL g · Z 
  83.9701    
   
g CLX 
  0.0000    
   
You should remember that many functions affect the status of the automatic memory stack (e.g., pushing numbers into the stack), and that when you use the stack registers as storage registers, the normal stack operation may change the contents of those registers.
Indirect Function Control
Now that you have seen how indirect addressing works, let’s progress a little and see how some of the other indirect features work in programs.
Functions requiring the input of an operating specification like TONE and FIX can use indirect addressing to specify how the function is to operate. For example, FIX requires a number from 0 through 9 to specify the display format. Using indirect addressing, you can store the format specification number in a register, and then use indirect addressing to complete the function ( FIX g nn). Indirect control is most useful in programs you write.