The Museum of HP Calculators

HP Forum Archive 13

[ Return to Index | Top of Index ]

HP 33s
Message #1 Posted by Dave Falkenberg on 13 Nov 2003, 10:29 a.m.

Does anyone have any info on this new calculator?

Re: HP 33s
Message #2 Posted by Juergen (CH) on 13 Nov 2003, 1:31 p.m.,
in response to message #1 by Dave Falkenberg

Look at this previous post: HP33S Manual Is Here!!!

Re: HP 33s
Message #3 Posted by Paul Brogger on 13 Nov 2003, 5:33 p.m.,
in response to message #1 by Dave Falkenberg

I was just talking to HP Calculator Support (about a 49G+) and asked about the 33s. Company line (as of yesterday) is, "Anything that's been announced is still subject to change" and regarding its release date, " ... sometime late 2003, early 2004 ... ".

Re: HP 33s
Message #4 Posted by Brandon on 13 Nov 2003, 10:21 p.m.,
in response to message #3 by Paul Brogger

yeah... we all hope the ugly V-shaped keyboard is subject to change :)

Re: HP 33s
Message #5 Posted by Ken Emmens on 21 Nov 2003, 5:15 a.m.,
in response to message #4 by Brandon

Yes, the HP33S keyboard is not the most inspired design in the world but hey, does it really matter? I'm going to buy a 33S to use it in my work, not to use it as some sort of adornment or to leave it lying around to impress others. As long as it does its job I'll be satisfied. In my humble opinion we're lucky to be even getting a reasonably decent replacement for the HP 32SII. Forget about what the thing looks like and think about all the extra program memory you've been given compared to the HP32SII. Personally, I can't wait to buy one.

Re: HP 33s
Message #6 Posted by CME750 on 21 Nov 2003, 4:41 p.m.,
in response to message #5 by Ken Emmens

I expect to get a 33S too (primarily for exam use). But don't get too excited about "all the extra program memory you've been given compared to the HP32SII." In practice, it will be very difficult to actually load more than 1-2KB of programs into that 31KB space. This is better than the 32SII, but not nearly as good as you might have expected.

The problem is with the labels. You need a distinct label at the start of each program, and at branches, loops, and subroutines. On the 32SII and 33S, you can't GOTO line numbers; you have to reference a label. The 32SII provided 26 labels (A-Z) for this purpose. Complex programs, such as those in Chapters 15 and 16 of the 32SII manual, can easily use 5, 10, or 15 labels.

It appears that the 33S will have only the same 26 labels found in the 32SII. And like the 32SII, the labels cannot be duplicated between programs. So the limited quota of labels will be used up fast. If you're careful to avoid label duplication, you might be able to install 2 or 3 complex programs in the 33S, as opposed to one in the 32SII.

Not sure what all the memory of the 33S is good for. Can't use it for programs, because there aren't enough labels. Can't use it for data, because the 33S will only have 33 storage registers, same as the 32SII. I suppose you could store a very large number of equations.

Re: HP 33s
Message #7 Posted by Ken Emmens on 22 Nov 2003, 1:22 a.m.,
in response to message #6 by CME750

You are correct in what you say about the limited number of labels available to write programs, but I still think the 33S is a good improvement on the 32SII.

One method that may assist in getting around the label limitation would be to combine similar programs into one larger program. Those "sub-programs" could then share any common subroutines and consequently avoid the "DUPLICAT. LBL" error message that occurs when all the labels have been used up.

Although I have not used it because I have never had the need (the 33S is likely to change that though because of its larger memory), indirect addressing (using (i)) would be an efficient way to control program subroutine branching under such circumstances. The HP32SII Owners Manual has good coverage of that technique in Chapter 13.

The restricted number of labels does offer one benefit - the encouragement of economical program design, and the mental challenge / stimulation of achieving that outcome. And who knows? - maybe the HP33S is the precursor to the HP33SII with thousands of labels and gigabytes of memory and download/upload capabilities and an easy to use enhanced Basic programming language and super-long-life batteries and, gasp, a normal keyboard. Wow, wouldn't that be something? Here's hoping.

Re: HP 33s
Message #8 Posted by CME750 on 25 Nov 2003, 2:31 a.m.,
in response to message #7 by Ken Emmens

One ugly, but potentially effective, way to cut down on label use on the 33S is as follows.

Let's say you have a dozen distinct programs. Start with LBL A and enter Program 1, ending with RTN. Then enter Program 2, ending with RTN. Follow with Programs 3 to 12. All of the programs end with RTN, but none begin with labels (except for the first one). In this case, all 12 programs are associated with LBL A.

So how do you select a specific program? You have to note the line number where each program begins. So Program 1 begins at line A0001. Maybe Program 2 begins at line A0083, Program 3 at line A0154, and so on.

If you wanted Program 2, you could start it by pressing GTO . A0083 R/S. For Program 3, you would hit GTO . A0154 R/S. The GTO . command moves the program pointer, even when you are not in program entry mode. So you can control the line number at which a program starts running, even without labels.

The obvious downside is that it would be difficult to remember the right code for starting each program. You would probably need a "cheat sheet" listing the appropriate line numbers. Furthermore, if you edited one program, the line numbers for all the following programs would change.

Confirmed that this works on a 32SII. Based on the online manual, the 33S should be similar (except that line numbers contain 4 digits on the 33S and only 2 digits on the 32SII).

Re: HP 33s
Message #9 Posted by Ben Salinas on 22 Nov 2003, 7:47 p.m.,
in response to message #6 by CME750

In a purely theoretical sense, with 32kb of memory you could emulate more subroutines. It would be terribly inneficient in terms of memory, but with 32kb, who cares

Imagine this. We have routine A. At the begining of A there is one subroutine, which can be accessed by a GTO. After that subroutine is complete, it will have a RTN. After the RTN, there is a second, entirely different subroutine, which can be accessed by a XEQ (which doesnt stop at a RTN, I believe...). As long as the first subroutine does not mess with any of the variables for the second subroutine, then you would be fine

Of course it would be terribly inneficient, and incredibley complex to code. I guess you could also have it do some simple subroutines separated by conditional tests, or if you say

Input Z 1 x=y? a command

Would that leave the Z and 1 on the stack, or are they consumed.

A final theoretical method would be if you had subroutines which began the same, you could have it break if it reaches a specified number.

Say we would like to have subroutine A1 and A2. A1 and A2 start with the same 5 commands, but after those 5 commands, A1 should break, and A2 continue. Given a variable Z, you can set it to 1 if you want to run A1 and 2 if you want to run A2 (or a flag, or something of the like). After the five commands are ran, have a conditional test to check if Z=1, and if it does, have it RTN. After A1, are the commands for A2.

Just a few thoughts


Re: HP 33s
Message #10 Posted by john gablenz on 22 Nov 2003, 11:42 p.m.,
in response to message #9 by Ben Salinas

Has HP announced an updated release date for the 33s?


[ Return to Index | Top of Index ]

Go back to the main exhibit hall