HP-34C Programming vs. HP-33C


I never owned a 33C, but still have (albeit nowadays fairly dotty) my 34C.

I see there are programs in this museum for the 33C; are they portable to the 34C?

All those decades ago when I first bought the 34C, I had thought that they were very similar calculators except for program and register memory capacities. A cursory look at the 33C in the store gave me that impression.


Hi, Ed;

I'd take as a first step to locate and mark the labels (program step #) in the original HP33C listing that correspond to any [GTO] or [GSB]. All GTO and GSB in the HP34C are completed with either one digit ([0]...(to)...[9]), [I], [A] or [B]. In the HP33C, any GTO or GSB is folowed a two-digit step number: [GTO] or [GSB] {[00] to [49]}. In the HP34C you must consider that it must exist the equivalent LBL {[0]...(to)...[9], [A] or [B]} in order to validade the corresponding [GSB] or [GTO].

Each LBL in the HP34C consumes one extra step, so, if you simply go adding a LBL in each program step pointed by a GTO or GSB while keying in a program from the HP33C in an HP34C, you may loose track of the next LBL, if any. Having the original listing with some custom mark for each possible LBL might help, though.

There are some features in the HP34C that may be used instead of original program sequences in the HP33C, like SOLVE (root finder) and integral. Also, as the HP34C has at least 70 program steps (20+ compared to the original 49 steps in the HP33C) before using a memory register, chances are that you can store two, three or even four programs writen for the HP33C in an HP34C.

Flags are available only in the HP34C, and will never be part of a program in an HP33C. IIRC, comparison functions (x=0, x=y, etc.) are the same in both, and work the same: do if ture, jump if false. And, for the records, the HP34C allows many indexed/indirect operations with both [(i)] and [I], including [DISP][I], that allows a program to change the number of digits through [I] contents.

There's certainly more facts about programming, these are the ones I recall without reading the manuals... So, one may find any errors and, hopefuly, point them out.

My 2¢.


Luiz (Brazil)

Edited: 2 Dec 2006, 12:07 a.m.


Thanks for the quick input!

It appears that aside from the lack of powerful preprogrammed functions like SOLVE or INTEGRATE, programming on the 33C might even have been more efficient and flexible because of its use of simple two digit line numbers up to 49 rather than just 12.5 labels (A, B, 0-9, [i]). But I really can't believe that the upper level logic of the 33C is that much different from that of the 34C!!

It now looks more like the translation of a 34C program to the 33S. Actually, I ported the old 34C Moon Lander game to the 33S, and it's *ALMOST* as much fun, except that there are no more flashing red LEDs when you crash, and the ability to view the Y register somehow makes the feel different.

Maybe I should upload it to the museum's software collection, if someone hasn't already.


Hi, Ed;

Maybe I should upload it to the museum's software collection, if someone hasn't already.
of course, it would be great. I'd like to see and study its listing, for sure.

But let me add a bit more of data to this thread. I always saw the HP33E/C as the Spice series `version` of the HP25/25C without the Woodstock glamour, of course. The main additions to the HP33E/c not offered in its predecessor where the subroutine call feature (GSB and RTN) and some statistic functions (x and y forecasting, linear regretion, correlation coefficient). So, many HP33C applictions were originally ported from the original HP25 applications, that also came from earlier models (some of them), the Moon Landing Simulator beeing one of the most known, famous of them. Your version may probably be different of the one written for the HP25, but I'm confident that the one written for the HP34C is based on the one for the HP25.

I consider the HP34C closer to the succeeding HP11C. Both have the same amount of user memory (yeap, I know that the 34C has an extra register in program memory when compared to the HP11C, but I believe that this extra register was, in fact, used to store the seed for RAN# in the HP11C), both have DSE and ISG (although the HP11C accepts either I or (i) as arguments for DSE and ISG, while the HP34C uses only register I contents for ISG and DSE), both accept indirect/indexed argument for some functions, and what I consider the major advance: both have user memory shared between program and registers. I guess that the HP95C (I want one of these!) was the first calculator to introduce such features, although it was not actually introduced... (sob!). Amongst Spices, onlyt the HP34C and the HP38E/C allowed such automatic memory allocation. And the eddition features of the HP34C are fairly more attractive than the `fixed position` scheme of the HP33E/C: the HP34C allows insertion and delection of program steps, while the HP33E/C does not.

A few days ago I was trying to 'stuff' the root finder written for the HP25 in an HP10C's memory, but I did not succeed 'shrinking' it enough I could find more memory space. The final program, a clone of the original HP25 program, left just a few program steps to the user function, and I had to sacrifice most of the registers. I was able to run the example in the HP25C Applications Handbook, but I was not satified. If the HP10C had only a GSB and RTN... And the HP33E/C has it, so I think that the 'workaround' necessary to simulate the subroutine call in the original HP25/25C program could be rewriten in a way the HP33E/C version could be more efficient than the one writen for the HP25/25C.

Sorry... Subject driffting. Should erase it, but what tha h... Maybe it is useful, somehow. (That's the kind of subject I like to discuss... It's been a long time since I wrote this much)

Best regards.

Luiz (Brazil)

Edited: 2 Dec 2006, 9:32 p.m.



A little off subject....but viz a viz the 25C and the 31E. I cannot understand how the 31E has all the trig functions but one cannot convert angles minutes and seconds into decimals to use the trig functions (and visa-versa).



I'm no mathematician, but could it be that it used exponentials to calculate sines and cosines?


Hi, Ed;

I'm no mathematician, but could it be that it used exponentials to calculate sines and cosines?
I'm neither a mathematician, but the point here is that the (somehow old) sexagesimal number system used in degrees and hours (60 minutes, 60 seconds) is not suitable to compute results, only to represent data. You see, many HP calculators addeed not only the ->HMS and ->HR convertions, but also the HMS+ and HMS- functions to help dealing with degrees and hours. I guess the HP55 was one of the first models to offer HMS+ and HMS- as standard, keystroke available.

In math terms, radians is the very 'reciprocal' representation for angles because it allows a direct relation between the inclination and its projections (cosine for horizontal, sine for vertical). If you consider that x×PI represents any possible fraction of an arc of an arbitrary circle with radius R, given that x is a real number (this is just to help to stablish a relation; x×PI could be simply x and the concept remains), one can multiply x×PI by the circle radius R and precisely locates the angle in the arc x×PI×R. The trigonometric functions are defined in a circle with abitrary radius R=1, hence the simplification: x×PI.

If the trigonometric functions accepted angles in degrees, minutes and seconds, some additional (and somehow timeconsumming) convertions should take place: HMS to degrees, degrees to radians, then compute trigonometrics. Also, the inverses would need their counterparts. So, I do not relate the angle format to the algorithm used in computing trigonometrics, only to the number representation.

Hope my explanations are not confusing; should think of them in Portuguese and English separately...


Luiz (Brazil)

Edited: 3 Dec 2006, 1:38 a.m.


Hi, Trent;

Indeed, if you have an input data of the kind

and you want to compute trigonometrics with the HP31, you'd need to convert it to decimals prior to key it in. Reading minutes and seconds back from the inverse trigonometrics demands additional convertion as well. The HP21, although having a subset of functions when compared to the HP31E (no unit conversions, DEG and RAD angular modes with no DEG<->RAD convertions, DISP instead of [FIX]/[SCI], no LASTx), also has trigonometrics and inverses, and no ->HMS nor ->HR convertion...

I prefer the HP11C/HP15C solution: print the units convertion constants in the back of the calculator's case and let the user finds his/her own keystrokes to compute them. Compute HMS given HR and conversely demands some extra keystrokes... I'd gladly trade all six units convertions in the HP31E for both degrees convertions.

I agree with you.


Luiz (Brazil)


Olá Luiz,

I found a very nice HP-33C at Mercado Livre. It came with perfect battery contacts and soft case. It's the heavier model (I just hope I never have to open it up). Even better, it cost under R$ 100, no taxes of course. I wish I had an HP-34C like that! I prefer the HP-34C because it's an advanced LED calculator. Even SOLVE and Integrate are available. The programming features of the HP-33C are no so limited like those of the 12C but it lacks some functions, like this one (it takes about one fourth of the available programming memory though):

01 x=0
02 1
05 1
06 -
07 x=0
08 GTO 12
09 *
10 LAST x
11 GTO 05
12 x<>y
13 RTN

Call the routine with GSB 01 and a positive integer, otherwise it will loop for ever. Hope you like it!




E aí, Gerson;

I have no HP33E/C (I had one, but I considered it would be a better gift...) but I see that your program computes factorial, right? And if the number has a non-zero fractional part, step #7 (x=0) will always jump the GTO 12, causing the loop (X×(X-1)×(X-2)×(X-3)... to be computed forever. As the HP33 has no INTeger function, things get worse in this case... Good listing, indeed!

I was fortunate enough to be given an HP34C considered as nonworking, amongst other Spices that were actually shared with some contributors, although many of them were working properly, and I took care of them accordingly (as they deserve). The HP34C in particular is, indeed, a very good calculator. I like it very much as a calculating device.

In time: I am almost sure you already know about this, but the heavier Spices are the ones with plastic domes under the keys and flex PCB, while the lighter ones have metal domes for the keyboard. The flex PCB models have a thick metal plate that ensures the PCB pressed to the IC´s and power supply board has all contacts lined and touching each other. The metal clamps that hold the entire assembly are very well designed and work pretty fine.

Although people do not like Spices very much, I look at them with good eyes. The Economic models allowed many people that could not affor buying expensive HP models to have access to their functionality. Even if we consider quality, they are respectifull, though.


Luiz (Brasil)

Edited: 3 Dec 2006, 3:21 p.m.


Yes, it saddens me, too that there do seem to be those who don't like the 34C.

If it were not for the 34C and its superb (for the time and very good still for now) programming capabilities, I might not have survived college (particularly physical chemistry laboratory) too easily. It saved me many nights or even perhaps weeks of laborious calculations. Sure, I had to program the routine or algorithm into the calculator first, and then debug it, but that's like only doing the calculation two or three or four times, whereas often, I had to do it... if I recall correctly... at least fifteen or more times in some instances!

So, I am with you- I too see the HP-34C through very kindly eyes.

It remains my all time favorite calculator.

Now, if only I can get it fully working again! Until then, my main workhorse nowadays is the 33S (it used to be a 32SII, but I am afraid of wearing it out like I did to my poor 34C).


Oh, no! Don't delete it!

I find your posts and thoughts most often very informative, and at least a good read.

I am impressed by your ability and drive to rewrite and port programs from one HP calc to another.

The only reason why I even bothered with the Moon Lander game was because I thought the 34C and 33S was similar. I never owned any of the Voyagers, and really lusted after the 15C, but since I still had a healthily functioning 34C at the time, I never spent the money for it (I regret it now... greatly), so I don't have first hand knowledge of the 11C's capabilities; in fact, I think I might even be more familiar with the 33C than the 11C.

Okay! I'll try to post it soon... I sure wish the 33S has IR or PC cable links now.



Hi Ed. Here's a link to an HP Museum 33c <-> 34c comparison:





Hey thanks!

I forgot all about this section of the Museum! I recall I did use to look at it in the past. I will go and check out the comparison.

Possibly Related Threads...
Thread Author Replies Views Last Post
  Programming workaround for "prepend" HP PRIME Marek Russ 4 706 11-29-2013, 05:46 AM
Last Post: Marek Russ
  HP 41 Advanced Programming Tips Michael Fehlhammer 0 433 11-28-2013, 06:11 PM
Last Post: Michael Fehlhammer
  hp prime - programming with lists giancarlo 3 671 11-10-2013, 02:13 AM
Last Post: Giancarlo
  HP Prime Programming Tutorial #3: WHILE, INPUT, KILL, REPEAT, GETKEY Eddie W. Shore 5 901 11-07-2013, 12:25 AM
Last Post: Han
  HP Prime - programming bluesun08 2 548 11-04-2013, 04:31 PM
Last Post: bluesun08
  More undocumented programming limitations in the HP Prime Michael de Estrada 3 717 11-03-2013, 08:22 PM
Last Post: Michael de Estrada
  HP 12C Platinum Programming v. Gold Face Dean Lewis 10 1,228 11-03-2013, 07:30 PM
Last Post: Kimberly Thompson
  HP Prime questions: I/O and Meta programming Andy Gryc 2 575 10-31-2013, 11:22 PM
Last Post: Andy Gryc
  HP Prime Programming Tutorial #1: LOCAL, RETURN Eddie W. Shore 6 1,061 10-26-2013, 08:42 PM
Last Post: Miguel Toro
  HP Prime Programming Tutorial #2: MSGBOX, IF-THEN-ELSE, PRINT, FOR Eddie W. Shore 0 469 10-26-2013, 03:51 PM
Last Post: Eddie W. Shore

Forum Jump: