HP Forums

Full Version: Interesting finding of PRD on HP-81
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Don't know anybody realised already:
The HP-81 has 20 registers. Addressed thru 0 - 9 and .0 to .9
I filled registers 1 to 9 with its own number, register 0 with 10, the secondary registers .1 to .9 with 11 thru 19 and .0 with 20.
When I perform a PRD (print DATA) registers 1 thru 9 and .0 thru .9 and their contents are printed but not register 0 and its content. RCL 0 prints 10.
Is it intentional or a (known) bug? Don't know as I don't own the owner's manual. I have a handbook for HP-80 that has only 1 register - and of course no printer.
Andi
Information is from the HP-81 PDF manual purchasable here on the museum.

The manual is non-specific on this issue. Page 5 indicates how to access all 20 registers. The only distinction specifically for register 0 is:

"Register 0 is always reserved for your use (see page 13)."

Then comments on when, generally, other registers are used for 81 functions. Printing is described as:

"To list the contents of all storage registers, press" (green shift) (PRD).

Following on page 6 is a table on how the 81 uses all 20 registers.

Personally, I would assume this is a bug or oversight when writing the internal code; as the manual says all registers. Specifically excluding register 0 seems random to me.

One could guess since registers 1-19 might be used by the 81, excluding register 0 during printing may be deliberate. i.e. register 0 is only set by you, why print it as you already know its value--so to speak. Alternatively, since registers 1-19 could potentially be modified, it would make sense to print them after operating the 81 for a period of time.

But it does seem arbitrary logic to me--even if it is my own guesswork. Deliberately saving 1 line when producing 19 lines of output seems "why bother?"
Perhaps they thought: Well, HP 81, print 19 registers gives exactly 100 ... LOL
Now if the determined a way to divide that by 5 then it would print the desired 20 registers!

I was kinda wondering why myself. Too bad no one has an answer so far.
Reference URL's