Post Reply 
HP35s RPN Series # 3 [ENTER]
02-18-2015, 08:24 PM (This post was last modified: 02-18-2015 08:30 PM by MarkHaysHarris777.)
Post: #1
HP35s RPN Series # 3 [ENTER]
The classic HP style [ENTER] key is an RPN conundrum; an inconsistent and illogical relic dating back to the earliest of RPN calculators, yet 'beloved' by all HP classic RPN users. What is the [ENTER] key, what is it for, how does it work? First a bold proclamation: the HP35s calculator (in fact all RPN calculators) may be used effectively for all purposes without the user ever touching the [ENTER] key-! (We have already seen this at work in the ten-key emulation method cf. #2 Entry)

As stated earlier the stack is the heart and sole of the RPN methodology; broadly stated, the [ENTER] key is the RPN primary stack manipulation key among others: [x↔y] , [R↓] , [←] , [R↑] & [CLSTK].
Contrary to its name, its purpose is not 'entry,' nor 'input,' rather its primary purpose is stack (register) manipulation, something more than mere 'entry' and nuanced by the subtleties of how and when it affects stack 'lift'; however, as is the case for unary and binary operators the [ENTER] key also shares the property of terminating numeric keying into the X stack register.

Before we get to the [ENTER] key, per se, let's perform a multiplication and let us NOT touch the [ENTER] button; to demonstrate the idea that [ENTER] is not required for 'entry,' which is important for this discussion. In order for us to find the product of two multiplicands using a 'postfix' methodology like classic RPN, we first must get the multiplicands into memory (into the X and Y registers) so that the [X] binary operator may do its job. It is important to note that it does not matter in the slightest 'how' the multiplicands get into their respective registers, only that they get there-! Consider the following key sequence: [3] [x↔y] [←] [4] [X]

The [x↔y] key terminates the [3] keying and swaps the X register with the Y register. The [←] key clears X but primarily is used to cancel automatic stack 'lift' (discussed later) in preparation for [4] keying. The [X] key terminates [4] keying and operates (multiplication) on the operands in the X and Y registers (initiating automatic stack 'drop') and leaving our product in the X register. Voilà! Notice that the [ENTER] key was not touched with this method. How many ways are there to manipulate the stack registers to accomplish the same purpose? Remember it is not important how the operands get into X and Y necessarily, only that they get there. Try this one:

[4] [R↓] [←] [3] [R↑] [X] (or) [4] [R↑] [←] [3] [X] (or) [CLSTK] [4] [+] [3] [X]

The above key stroke sequences work to multiply (4 X 3) and no one would actually do this in practice; however, this example illustrates the point that 'entry' is about controlling the stack by the use of stack manipulators (not necessarily by use of the [ENTER] key)!
Let us now return to our conundrum. The [ENTER] key is primarily a stack|register manipulator. Its purposes might be listed (below) in no particular order:
1) Initiate manual stack 'lift' replicating X into Y
2) Terminate X register keying (also initiates 'lift' and replicate, nuance #1)
3) Push a value into Y (nuance on #1)
4) Prepare X for entry (nuance on #3, and #1)

What makes [ENTER] a conundrum?

[ENTER] causes confusion because its called 'ENTER' and because it really doesn't enter anything. Primarily the [ENTER] key forces stack 'lift' and replicates X into Y; also canceling automatic 'lift' for the 'next' keying operation! (which may be leveraged in a number of interesting ways). Secondarily, [ENTER] terminates X register keying, as do most unary and binary operators; however, [ENTER] does not use an input buffer in classic style, and [ENTER] does not 'enter' X (it only terminates numeric keying of a value 'already' in the X register. Of course, [ENTER] doesn't 'equal' anything either. The [=] key does not exist on 'real' classic RPN calculators; [ENTER] has nothing to do with [=]. Well, there you have it, a conundrum; well beloved and highly useful! (if not logical, nor consistent)

Sidebar: I can't prove the following conjecture (but I believe it non the less). The [ENTER] key and its quirky behavior are an oversight, or bug, left over from the early design and test of the HP35. The [ENTER] key IMHO was not designed (it evolved) and when the dust settled the engineering team left it alone because they found uses for the accident. What makes me believe this to be true are three observations (and I go back to the era personally): 1) other programmable calculators of the era (Wang 700, others) had register manipulators, but no [ENTER] key (certainly nothing like the HP RPN [ENTER]), and 2) the [ENTER] key is not necessary using consistent entry methods [+] with other register manipulators, and 3) in a modern sense users typically often want 'entry' RPN; a style whereby [ENTER] enters a value from an input buffer into the X register-- actually 'enters' something. Neither here nor there... just historical speculation (not a theological challenge) Smile

Conclusion: Regardless how the [ENTER] key came into existence, and regardless being a conundrum, the [ENTER] is here to stay; important for register manipulation certainly. But also important as an icon of cultural expression worthy of preservation and appreciation – just for the beauty of it. Voilà !

Cheers,
marcus
Smile

Kind regards,
marcus
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP35s RPN Series # 3 [ENTER] - MarkHaysHarris777 - 02-18-2015 08:24 PM
RE: HP35s RPN Series # 3 [ENTER] - Tugdual - 02-19-2015, 08:37 AM



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