Post Reply 
HP-35s Memory Management
07-10-2017, 04:24 PM (This post was last modified: 07-10-2017 04:27 PM by Matt Agajanian.)
Post: #1
HP-35s Memory Management
Hello all.

Yes, my joy for RPN and programming has enticed me to buy both the 33s and 35s when they were first out of HP's factory.

Even though these two have their faults like San Andreas, perhaps they're not as much the bastard children of the HP family.

There is a peculiar structure that I'm even perplexed as to say "What were they (HP) thinking." And it's the memory register structure of the 35S. I can see that registers A-Z, like the alphabet, can be addressed by a simple A, B, C keystroke, but why did the classic 00-800 register addressing be convoluted to both an indirect addressing scheme plus on the less than zero number scale.

The way I see it, which makes much more logical sense registers 00 to 800 could have been addressed in the conventional manner with A-Z registers being designated the negative number addressing.

Two simple solutions comes to mind:
Variables/registers A-Z could have been addressed with a preceding decimal point or CHS stroke for example as [STO] [ . ] A...Z or [STO] [CHS] A...Z. leaving access to registers 0 to 800 with conventional register addressing.

For indirect addressing, to retain conventional methods, if the I or J register contained a positive value, as usual, registers 0-800 could be accessed.

To accessss variables indirectly, -1...-26 in the I or J register would access variables A...Z.

I preface with these to pose my major curiosity.

Granteed porting over Classic, Woodstocks, Voyageres, etc. calcs only needs access to 25 or less registers (except the 29C with 30 registers), what technique have you used when porting indirect register addressing portions of code to the 35S?

Thanks
Find all posts by this user
Quote this message in a reply
07-10-2017, 07:10 PM
Post: #2
RE: HP-35s Memory Management
(07-10-2017 04:24 PM)Matt Agajanian Wrote:  There is a peculiar structure that I'm even perplexed as to say "What were they (HP) thinking." And it's the memory register structure of the 35S. I can see that registers A-Z, like the alphabet, can be addressed by a simple A, B, C keystroke, but why did the classic 00-800 register addressing be convoluted to both an indirect addressing scheme plus on the less than zero number scale.

Sorry, but you're wrong here.

(07-10-2017 04:24 PM)Matt Agajanian Wrote:  The way I see it, which makes much more logical sense registers 00 to 800 could have been addressed in the conventional manner with A-Z registers being designated the negative number addressing.

That's exactly how it works. ;-)

If you want to access the variables A...Z indirectly, that's address –1 to –26.
Addresses from 0 and higher are used for the large "indirect" memory area.

So –4 STO I, and then RCL (i), recalls variable D.
And 50 STO I, then 123 STO(i), stores this number in register #50.

A = –1
B = –2
...
Y = –25
Z = –26
R000 = 0
R001 = 1
R002 = 2
...
R800 = 800 (if available)

(07-10-2017 04:24 PM)Matt Agajanian Wrote:  For indirect addressing, to retain conventional methods, if the I or J register contained a positive value, as usual, registers 0-800 could be accessed.
To accessss variables indirectly, -1...-26 in the I or J register would access variables A...Z.

Once again: that's exactly how it works.
But why don't you just try this on your own 35s?

Dieter
Find all posts by this user
Quote this message in a reply
07-10-2017, 08:56 PM
Post: #3
RE: HP-35s Memory Management
Yes. I know. But I thought I'd get an expert opinion from this group because my question states that, rather than positive numbers for R00-R800, the i and j registers need the opposite so, that must require clever porting techniques so as to help retain the classic positive number register scheme (especially with HP-41 and 15C memory addressing since they can address well over 26 registers in their positive number form for indirect addressing.
Find all posts by this user
Quote this message in a reply
07-10-2017, 09:39 PM
Post: #4
RE: HP-35s Memory Management
My eyes must be going haywire! I don't know how I saw the Register
as negative numbers and variable addresses as positive. I'm going to read that manual much more closely.

Thanks for the expert advice.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)