HP Forums
35S I & J registers - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: 35S I & J registers (/thread-213196.html)



35S I & J registers - Matt Agajanian - 03-02-2012

Hello all.

Given that the 35S has two registers which can be used for indirect addressing, are these the registers between H and K or are these special registers independent of the A-Z registers?


Re: 35S I & J registers - Kiyoshi Akima - 03-03-2012

They're the registers between H and K.


Re: 35S I & J registers - Matt Agajanian - 03-03-2012

So, if I write a program to indirectly address registers and include DSE/ISG looping, I should create the program to indirectly address registers -11 and below (or -8 and above) to avoid overwriting my looping register in an STO+/-/* (i) or (j) command.

Edited: 3 Mar 2012, 7:47 a.m.


Re: 35S I & J registers - Marcus von Cube, Germany - 03-03-2012

You better address the unnamed registers with I or J. This gives you a lot of addressable space without interfering with the indexes.


Re: 35S I & J registers - Matt Agajanian - 03-03-2012

That sounds better than my idea. Thanks for the tip.


Re: 35S I & J registers - Bart (UK) - 03-05-2012

Memory management: something to remember when using indirect registers, is that memory gets assigned for all indirect registers up to the highest register used, even if the lower ones are not used. E.g. using indirect register 40 will result in memory being allocated for 0 to 39 as well. You can quickly use a lot of memory this way (write something in register 800 and do a mem check (I have ~10k free and the highest I can use is 280)). So use only the highest number really needed.

To clear indirect registers and regain memory:
1) CLVARx (BlueShift CLEAR 6): clears all indirect registers above the number entered (e.g. CLVARx 040 will clear 41 and higher).
2) Implication of (1) is that CLVARx 000 will clear registers 1 and above, but not 0 which is assigned too (and negative no.'s cannot be entered). So to get the memory back for that, you have to manually clear it by doing 0, STO I, STO (I).


Edited: 5 Mar 2012, 6:33 a.m.