Post Reply 
4-level stack manipulation on 12c
03-05-2015, 11:39 PM (This post was last modified: 03-07-2015 12:13 PM by Gerson W. Barbosa.)
Post: #41
RE: 4-level stack manipulation on 12c
(03-05-2015 10:51 PM)rprosperi Wrote:  
(03-05-2015 10:26 PM)Gerson W. Barbosa Wrote:  It does. Actually an HP 12c Prestige here (CNA 62932140), but I assume it to be equivalent to the HP 12c Platinum.

Gerson.


Hey, wanna sell that Prestige?? Oh, uh... sorry, don't know what came over me.

I would gladly sell it to you or even trade it for a Platinum since I am not a collector, but I am sure you would not like this one. It was in very good shape when I bought it, but a small piece of the lacquer on the bezel had been peeled off and I tried to fix it myself and ended up ruining it, perhaps beyond repair. My restoration skills are not different from this guy's (Youtube video) Smile

(03-05-2015 10:51 PM)rprosperi Wrote:  Sorry, I misunderstood Dieter's comments to mean he thought the 2nd ENTER was not necessary on the 12C . While I have full confidence in Gerson, this gives me a reason to check this on a lowly non-Prestige Platinum tonite. Of course, there are at least 2 different Platinum s/w versions, before and after adding the UNDO and BKSPC. Guess I'll check both.

Here are the stack diagrams at the end of the fourth step:
Code:


HP-12C Prestige:

T    0    0    5    0    0
Z    0    0    0    0   17
Y   17   17    0   17   17
X    5    5   17   17    5 

         RND  Rv  ENTER LSTx


HP-12C:

T    0    0    5    0    0
Z    0    0    0    0    0
Y   17   17    0   17   17
X    5    5   17   17    5 

         RND  Rv  ENTER LSTx

Manually, at the end of the third step ( ENTER ), I see two 17's (by doing x<>y, for instance) on the HP-12C, but proceeding right to the next step I see only one in stack register Y, as shown.

I've just tested this on the HP 12c Platinum emulator and noticed it behaves just like the Prestige.

Gerson.

Edited per Marcus von Cube's observation below.
Find all posts by this user
Quote this message in a reply
03-06-2015, 02:01 AM
Post: #42
RE: 4-level stack manipulation on 12c
(03-05-2015 10:51 PM)rprosperi Wrote:  Of course, there are at least 2 different Platinum s/w versions, before and after adding the UNDO and BKSPC. Guess I'll check both.

Very interesting results.

Platinum 12C, Initial Silver face (no Undo), S/N CN32106351 (engraved)

Using Gerson's "HP 12c Platinum" Program, 17 [Enter] 5 [Enter] 17 [Enter] 5 [R/S] ==> -10.00 Incorrect

Platinum 12C, 2nd Silver face (with Undo), S/N CNA 54200944 (sticker)

Using Gerson's "HP 12c Platinum" Program, 17 [Enter] 5 [Enter] 17 [Enter] 5 [R/S] ==> 2 Correct

Platinum 12C, Black face , S/N CNA 125009Y (sticker)

Using Gerson's "HP 12c Platinum" Program, 17 [Enter] 5 [Enter] 17 [Enter] 5 [R/S] ==> 2 Correct

And of course, as you've guessed by now:

Platinum 12C, Initial Silver face (no Undo), S/N CN32106351 (engraved)

Using Gerson's "HP-12C" Program, 17 [Enter] 5 [Enter] 17 [Enter] 5 [R/S] ==> 2 Correct

So the incompatibility was introduced when the 2nd generation "Silver Platinum" was developed, and it seems maintained since then.

Last year I did some testing to compare 12C versions (the normal 1 [+] GTO 01 timed for 1 minute) and discovered to my surprise that the initial Silver Platinum is about twice as fast as the "Improved" Platinum, 6 times faster than the original 12C, but still only 1/25th as fast as the so-called 12C+ (current model).

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
03-06-2015, 02:25 AM (This post was last modified: 03-06-2015 03:12 AM by Don Shepherd.)
Post: #43
RE: 4-level stack manipulation on 12c
Thanks for all those tests, Bob.

I've got two 12c's. The original slow (but stable) one from around 2001 I think, and then the super-fast 12c+ I got from a fellow out west (where they were initially available at some store out there) when they first came out a few years ago. Although very fast, it has an issue or two with the self-test, as I recall. I have Dave Britten's prime factor finder (which I modified to run on the 12c+) loaded on the fast one and it is one of the fastest prime factor finders on any calculator I have seen.
Find all posts by this user
Quote this message in a reply
03-06-2015, 03:59 AM
Post: #44
RE: 4-level stack manipulation on 12c
(03-05-2015 10:51 PM)rprosperi Wrote:  Hey, wanna sell that Prestige?? Oh, uh... sorry, don't know what came over me.

You have a PM. ;-)

Ceci n'est pas une signature.
Find all posts by this user
Quote this message in a reply
03-06-2015, 04:08 AM
Post: #45
RE: 4-level stack manipulation on 12c
(03-06-2015 02:25 AM)Don Shepherd Wrote:  Although very fast, it has an issue or two with the self-test, as I recall.

I think the 12C+ uses the same diagnostics as the 15C/LE which are quite different from the original style; look on page 261 of the User Manual (found here). It's a little confusing because I believe the manual describes the "old style" diagnostics in the main section of the book (which don't work), and the "new style" diags. in an Appendix (which do work).

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
03-07-2015, 09:10 AM (This post was last modified: 03-07-2015 09:25 AM by Marcus von Cube.)
Post: #46
RE: 4-level stack manipulation on 12c
(03-05-2015 11:39 PM)Gerson W. Barbosa Wrote:  Here are the stack diagrams at the end of the fourth step:
Code:

...
HP-12C:

T    0    0    5    0    0
Z    0    0    0    0    0
Y   17   17    0    0   17
X    5    5   17   17    5 

         RND  Rv  ENTER LSTx
Are you sure about the 4th column (after ENTER)? Y should read 17.

In classic RPN, ENTER acts as DUP but disables stack lift. LastX honors this flag and overwrites X instead of pushing the stack up.

On the Platinum it looks like ENTER does not correctly disable stack lift for all subsequent commands, probably only for manual digit entry, not for other operations that return values to the stack like LastX and RCL.

Edit: It's no wonder that the 12C+ and the original 12C are behaving in the same (correct) way. The ARM equipped incarnations are running the original ROM code on an emulated Nut processor. The Platinum, on the other hand, is a complete reimplementation of the 12C spec. Obviously there are some deviations from the original (wanted and unwanted).

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
03-07-2015, 12:16 PM
Post: #47
RE: 4-level stack manipulation on 12c
(03-07-2015 09:10 AM)Marcus von Cube Wrote:  
(03-05-2015 11:39 PM)Gerson W. Barbosa Wrote:  Here are the stack diagrams at the end of the fourth step:
Code:

...
HP-12C:

T    0    0    5    0    0
Z    0    0    0    0    0
Y   17   17    0    0   17
X    5    5   17   17    5 

         RND  Rv  ENTER LSTx
Are you sure about the 4th column (after ENTER)? Y should read 17.

In classic RPN, ENTER acts as DUP but disables stack lift. LastX honors this flag and overwrites X instead of pushing the stack up.

On the Platinum it looks like ENTER does not correctly disable stack lift for all subsequent commands, probably only for manual digit entry, not for other operations that return values to the stack like LastX and RCL.

You're right! I've edited my original message.

Thanks for the clear explanation!

Gerson.
Find all posts by this user
Quote this message in a reply
03-07-2015, 01:46 PM
Post: #48
RE: 4-level stack manipulation on 12c
(03-06-2015 04:08 AM)rprosperi Wrote:  
(03-06-2015 02:25 AM)Don Shepherd Wrote:  Although very fast, it has an issue or two with the self-test, as I recall.

I think the 12C+ uses the same diagnostics as the 15C/LE which are quite different from the original style; look on page 261 of the User Manual (found here). It's a little confusing because I believe the manual describes the "old style" diagnostics in the main section of the book (which don't work), and the "new style" diags. in an Appendix (which do work).

You're right Bob, they got the self-test documentation right in the 15c/LE manual, but it was not right in the manual that came with the 12c+. I think that Katie figured it out pretty quickly, however, and made it known.
Find all posts by this user
Quote this message in a reply
03-07-2015, 02:02 PM
Post: #49
RE: 4-level stack manipulation on 12c
(03-07-2015 01:46 PM)Don Shepherd Wrote:  You're right Bob, they got the self-test documentation right in the 15c/LE manual, but it was not right in the manual that came with the 12c+. I think that Katie figured it out pretty quickly, however, and made it known.

Actually, the original 15cLE manual got it wrong, providing instructions only for the classic Voyager self-tests, which fail on the LE model. The correct instructions were later noted in a single-page errata sheet that was included with the manual, and I think the latest edition of the 15cLE manual was updated to include the correct instructions.

John
Find all posts by this user
Quote this message in a reply
03-07-2015, 02:26 PM
Post: #50
RE: 4-level stack manipulation on 12c
(03-07-2015 02:02 PM)John R Wrote:  
(03-07-2015 01:46 PM)Don Shepherd Wrote:  You're right Bob, they got the self-test documentation right in the 15c/LE manual, but it was not right in the manual that came with the 12c+. I think that Katie figured it out pretty quickly, however, and made it known.

Actually, the original 15cLE manual got it wrong, providing instructions only for the classic Voyager self-tests, which fail on the LE model. The correct instructions were later noted in a single-page errata sheet that was included with the manual, and I think the latest edition of the 15cLE manual was updated to include the correct instructions.

Thanks John. I would hope that the current 12c+ manual has it right as well, but I haven't bought one recently.
Find all posts by this user
Quote this message in a reply
03-07-2015, 03:43 PM
Post: #51
RE: 4-level stack manipulation on 12c
According to the current manual, page 194, the 12c self-test still reflects the old method. I have no idea if this is the "official" manual that is shipped with current calculators, it was the first link listed when I did a Google search for "hp12c manual".

Perhaps they have the correct self-test method listed in an Errata sheet packed with each calculator shipped. I hope so.
Find all posts by this user
Quote this message in a reply
04-10-2015, 09:53 AM (This post was last modified: 04-10-2015 10:07 AM by jemin.)
Post: #52
RE: 4-level stack manipulation on 12c
I have an issue related to the "stack lift" on hp12cp CNA02107739.

The p 230 of the manual says:

"When a number is entered into the displayed X-register — either from the
keyboard, from a storage register (using RCL), or from the LAST X register (using LSTx) — the stack usually lifts first. The stack does not lift if the last key pressed before a number is entered was one of the following: ENTER, CLx, ∑+ or ∑-. If one of these keys was the last key pressed, the number in the displayed X-register is replaced when a new number is entered."

However, the following happens when using LASTx:
1 ENTER
2 ENTER
3 ENTER
4 %

The answer at this point is 0.12 displayed and the following is in the stack:
T 1
Z 2
Y 3
X 0.12
L 4

Now, if we follow the manual above, hitting CLx and immediately g LSTx should replace X 0.12 with L 4 without lifting the stack. This does not happen. Instead, CLx sets X to 0, lifts the stack, LSTx then changes X to 4. The result is the following:

Expected Actual
T 1 2
Z 2 3
Y 3 0
X 4 4

A bug or a feature?
Find all posts by this user
Quote this message in a reply
04-10-2015, 11:17 AM
Post: #53
RE: 4-level stack manipulation on 12c
(03-02-2015 03:18 AM)Don Shepherd Wrote:  If my 4-level stack on my 12c contains:

t - don't care
z - don't care
y - 17
x - 5

and I want it to contain:

t - 17
z - 5
y - 17
x - 5

is there an elegant way to achieve that using only ENTER, roll down, and x<->y?

Not on the HP-12C but on the WP 34S simply use [CPX][ENTER] Smile

d:-)

(Sorry, couldn't respond earlier.)
Find all posts by this user
Quote this message in a reply
04-10-2015, 12:02 PM
Post: #54
RE: 4-level stack manipulation on 12c
(04-10-2015 11:17 AM)walter b Wrote:  Not on the HP-12C but on the WP 34S simply use [CPX][ENTER] Smile

d:-)

(Sorry, couldn't respond earlier.)

Thanks Walter.

Don
Find all posts by this user
Quote this message in a reply
Post Reply 




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