Post Reply 
HP-65 Question
03-31-2017, 08:16 PM
Post: #1
HP-65 Question
The HP-65 only supports one layer of subroutines. You can call one from a main program but you shouldn't call another from there.

The HP-65 Owners Manual says, if you do call lower level subroutines, the first RTN will take you back to the main program.

That suggests that starting with 0.00 in X and pressing [D] in the following:

PHP Code:
00123 LBL
002
11 A
003
01 1
004
61 : +
00524 RTN
006
23 LBL
007
12 B
008
02 2
009
61 : +
01011 A
011
03 3
012
61 : +
01324 RTN
014
23 LBL
015
13 C
016
04 4
017
61 : +
01812 B
019
05 5
020
61 : +
02124 RTN
022
23 LBL
023
14 D
024
06 6
025
61 : +
02613 C
027
07 7
028
61 : +
02924 RTN 

will produce (6 + 4 + 2 + 1 + 7 +) 20.

Does anyone have a physical HP-65 that can confirm that for me?

- Greg from sydneysmith.com
Visit this user's website Find all posts by this user
Quote this message in a reply
03-31-2017, 10:47 PM (This post was last modified: 03-31-2017 10:55 PM by Brad Barton.)
Post: #2
RE: HP-65 Question
(03-31-2017 08:16 PM)Greg Wrote:  will produce (6 + 4 + 2 + 1 + 7 +) 20.

Does anyone have a physical HP-65 that can confirm that for me?

Yes, the result is 20 on a physical 65. As you suspected, when the program encountered the RTN in the A subroutine, it was sent back to finish up the originally executed D subroutine, rather than run sequentially through the other subs.

Brad
Find all posts by this user
Quote this message in a reply
03-31-2017, 11:33 PM
Post: #3
RE: HP-65 Question
(03-31-2017 10:47 PM)Brad Barton Wrote:  
(03-31-2017 08:16 PM)Greg Wrote:  will produce (6 + 4 + 2 + 1 + 7 +) 20.

Does anyone have a physical HP-65 that can confirm that for me?

Yes, the result is 20 on a physical 65. As you suspected, when the program encountered the RTN in the A subroutine, it was sent back to finish up the originally executed D subroutine, rather than run sequentially through the other subs.

Brad


Oops, I missed that point in the 65 manual.

I rewrote the 65 emulator's Mark and Search code to manage the subroutines in the same way. The emulator now returns 20 as well.

cheers

Tony
Find all posts by this user
Quote this message in a reply
04-01-2017, 12:59 AM
Post: #4
RE: HP-65 Question
Wow that was fast Tony. I haven't even put up the fix I developed for mine yet, as I wanted to confirm the behaviour on the real thing first.

I'd noticed the problem on other emulators too. Yours always looks so good.

- Greg from sydneysmith.com
Visit this user's website Find all posts by this user
Quote this message in a reply
04-01-2017, 02:34 AM
Post: #5
RE: HP-65 Question
(04-01-2017 12:59 AM)Greg Wrote:  Wow that was fast Tony. I haven't even put up the fix I developed for mine yet, as I wanted to confirm the behaviour on the real thing first.

I'd noticed the problem on other emulators too. Yours always looks so good.

Hi Greg,

Thanks

It's been awhile since I got the 65 working so it was a bit of a brain strain remembering how the code for the program buffer worked :-)

Just now, I had to upload again because I forgot to update the PICmicro code for the 65 hardware emulator as well.

Cheers

Tony
Find all posts by this user
Quote this message in a reply
04-01-2017, 03:30 AM
Post: #6
RE: HP-65 Question
Amazing response! Thanks for updating the app so quickly.

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




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