Hi, Harry;
I thought about some possibilities:
1 - Use a "named" register; I know it will lead to the use of instructions with more than 1- or 2-byte and you probably don't want this;
2 - If it is a temporary indirect addressing, stack registers may also be used;
3 - Store the complex numbers in a complex matrix other than REGS and index it and live REGS as a real-number matrix. REGS will always be used the way you need, and the indexed matrix data will be accessed by RCLEL, STOEL, ->, <-, ^ and v (four arrows). These are all 2-byte instructions as RCL IND nn and STO IND nn are, and as you'd somehow need to set up initial values and control over the index register, you will also need to set up and control indexed matrix pointers.
I used the third option in a program I wrote when I was finishing my Engineering course. I was the first student in the history of the university I was studying at the time to stuff a Load Flow program in a pocket calculator (HP42S). My first and only 10 (A+) in the whole Engineerign course.
I was writing the program firstly to run in an HP41CX, but the HP42S "saved the day". A detail: I had to completely rewrite the program in one week after spending a whole weekend "learning" the new features in the HP42S.
If you ned further information, let us know.
Best regards.
Luiz (Brazil)
Edited: 29 July 2003, 11:34 p.m.