HP-67, 34C, 29C, etc. GTO 00
06-11-2017, 07:08 PM (This post was last modified: 06-11-2017 07:09 PM by Matt Agajanian.)
Post: #1
 Matt Agajanian Senior Member Posts: 544 Joined: Dec 2013
HP-67, 34C, 29C, etc. GTO 00
Hi all.

I'm translating various 25C and 33E/C programs for label-addressing HPs. Since GTO 00 acts as a R/S at the top of program memory, would the following be an accurate approach:

HP-67
000- LBL A
001- R/S
002- LBL B
003- STO 2
004- R/S
005- LBL C
006- π (pi)
007- RCL 2
008- x^2
009- x
010- GTO A

06-11-2017, 07:40 PM (This post was last modified: 06-11-2017 07:51 PM by Dieter.)
Post: #2
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: HP-67, 34C, 29C, etc. GTO 00
(06-11-2017 07:08 PM)Matt Agajanian Wrote:  I'm translating various 25C and 33E/C programs for label-addressing HPs. Since GTO 00 acts as a R/S at the top of program memory, would the following be an accurate approach:

HP-67
000- LBL A
001- R/S
002- LBL B
003- STO 2
004- R/S
005- LBL C
006- π (pi)
007- RCL 2
008- x^2
009- x
010- GTO A

First of all, the 34C (cf. subject) has regular label addressing, so there is no GTO 00 that stops at the top of program memory. For this purpose a simple RTN will do. Unlike other HPs, including the HP-67 and HP-41 series, a HP-34C RTN does not stop at the current program position but returns to step 000. Unless there are pending subroutine calls, of course. ;-) This means that on the 34C a simple RTN quite exactly behaves like a GTO 00 on the 25 and 33.

Regarding the HP67 sample program: of course you can use a label at step 001 and jump to that label in order to stop at (or near) the top of program memory. I'd recommend a RTN instead of R/S here, but that does not make much of a difference.

Let me add two more thoughts. First of all, in many, if not most cases a GTO 00 simply stops the program at a defined position, i.e. at its start. This makes sure that the next program start with R/S restarts right at the beginning. On the 67 and other more sophisticated calculators this is not required as the program may start at various entry points that are defined by the labels A...E.

But often the GTO 00 simply acts as a simple "quit program" command, without the need of stopping at a certain position. So on the '67 a simple R/S or RTN will do.

If you really want to use a label at step 001 I'd use something like LBL 0 instead of wasting one of the valuable hotkey-labels A...E.

So if this is your HP25 program...

Code:
01 x² 02 pi 03 x 04 GTO 00

...this could be the HP67 version:

Code:
001 LBL A 002 x² 003 pi 004 x 005 RTN

After the HP25 program has finished, a new radius may be entered and a simple R/S restarts the program. On the HP67 you enter the radius and press [A]. If you really want to continue with R/S, add a GTO A after step 005.

Dieter
06-11-2017, 07:57 PM
Post: #3
 Matt Agajanian Senior Member Posts: 544 Joined: Dec 2013
RE: HP-67, 34C, 29C, etc. GTO 00
Yes, using 0 as a label would be a better way to reserve A-e for primary use. I was just using label A to illustrate my question.

Thanks for the extra details.
 « Next Oldest | Next Newest »

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