Relabelling programs
08-02-2016, 12:23 PM (This post was last modified: 08-30-2016 01:40 PM by Marcio.)
Post: #1
 Marcio Senior Member Posts: 438 Joined: Feb 2015
Relabelling programs
Create the following program on the 35s:

Code:
X001 LBL X X002 4 X003 + X004 GTO X002

XEQ the program, relabel it W and then XEQ it again. The 35s will not update the GTO instruction, which is understandable, but the problem is that it won't read or recognize the new label, the display will show NONEXISTENT. For this to happen, there must be a GTO instruction in the program. Later on, for some reason I cannot explain, the 35s will recognize the program exists.

Is this an oddity or a bug?

Note that if you attempt to reproduce this, step X003 is necessary to avoid the lockup bug, which will cause all programs and data to be lost!!

Thanks
08-02-2016, 06:11 PM (This post was last modified: 08-02-2016 06:16 PM by Dieter.)
Post: #2
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: [HP-35s] Relabelling programs
(08-02-2016 12:23 PM)Marcio Wrote:  Create the following program on the 35s:

Code:
X001 LBL X X002 4 X003 + X004 GTO X002

XEQ the program, relabel it W and then XEQ it again. The 35s will not update the GTO instruction, which is understandable, but the problem is that it won't read or recognize the new label, the display will show NONEXISTENT.

I am not sure if I understand your problem. Enter the program X, then add a new LBL W as the second line, then delete the LBL X: everything works perfectly. The new program now is W001...W004 and the last line has correctly changed to GTO W002:

Code:
W001 LBL W W002 4 W003 + W004 GTO W002

However, if you remove the LBL X first, the GTO of course cannot be updated since the program now has no label at all – it does not know to which line 002 of which program it is supposed to jump. There is no GTO 0001 or GTO 0002 command. At this point the program looks like this:

Code:
0001 4 0002 + 0003 GTO X002

So the last line still reads GTO X002. As there is no such line, of course a NONEXISTENT must appear. After re-inserting a LBL W this GTO stays the way it is. How should the calculator know that some time ago this line belonged to some deleted LBL X ?

So I do not see a problem here.

Dieter
08-02-2016, 06:19 PM (This post was last modified: 08-02-2016 06:21 PM by Marcio.)
Post: #3
 Marcio Senior Member Posts: 438 Joined: Feb 2015
RE: [HP-35s] Relabelling programs
I apologize if I was not clear with the explanation.

Enter program X
Execute X
Edit X and relabel it W (or any other letter of choice)
Execute W

The 35s will display NONEXISTENT although you can confirm the existence of the program labeled W by checking the memory.

If you let the program unlabeled, the memory will display LBL ;

Thank you for you time and patience.
08-02-2016, 06:24 PM (This post was last modified: 08-02-2016 06:29 PM by Dieter.)
Post: #4
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: [HP-35s] Relabelling programs
(08-02-2016 06:19 PM)Marcio Wrote:  I apologize if I was not clear with the explanation.

Enter program X
Execute X
Edit X and relabel it W (or any other letter of choice)
Execute W

The 35s will display NONEXISTENT although you can confirm the existence of the program by checking the memory.

If you do the "Edit X and relabel it W" correctly, everything is fine. First insert the new label W (after LBL X), then delete the old label X.

If you do it the other way round (delete LBL X first, then add LBL W) it cannont work – cf. my first post. The "NONEXISTENT" appears when the program tries to jump to X002 which no longer exists.

(08-02-2016 06:19 PM)Marcio Wrote:  If you let the program unlabeled, the memory will display LBL ;

Yes, that's the known behaviour.

Dieter
08-02-2016, 06:30 PM
Post: #5
 Marcio Senior Member Posts: 438 Joined: Feb 2015
RE: [HP-35s] Relabelling programs
(08-02-2016 06:24 PM)Dieter Wrote:  If you do the "Edit X and relabel it W" correctly, everything is fine. First insert the new label W (after LBL X), then delete the old label X.

If you do it the other way round (delete LBL X first, then reinsert W) it cannot work – cf. my first post. The "NONEXISTENT" appears when the program tries to jump to X002 which no longer exists.

That is why. The 35s will update the GTO instruction after some time.
08-02-2016, 06:34 PM
Post: #6
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: [HP-35s] Relabelling programs
(08-02-2016 06:30 PM)Marcio Wrote:
(08-02-2016 06:24 PM)Dieter Wrote:  If you do the "Edit X and relabel it W" correctly, everything is fine. First insert the new label W (after LBL X), then delete the old label X.

If you do it the other way round (delete LBL X first, then reinsert W) it cannot work – cf. my first post. The "NONEXISTENT" appears when the program tries to jump to X002 which no longer exists.

That is why. The 35s will update the GTO instruction after some time.

?!? – "after some time"?
If you do it correctly the GTO is updated immediately. Otherwise it cannot be updated, regardless how long you wait for it. ;-)

Dieter
08-02-2016, 06:40 PM
Post: #7
 Marcio Senior Member Posts: 438 Joined: Feb 2015
RE: [HP-35s] Relabelling programs
Well, I did not correct it myself.

But yes, it was me who created the confusion by me not adding the new label before deleting the old one.

Thanks.
 « Next Oldest | Next Newest »

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