Hi all,
My apologies if already discussed.
I understand that labels are just a waste of place and time in a program (at least when it is fully debugged and frozen).
But when you edit a program, labels are helpful because you don't have to keep track of the lines inserted or removed to know how far you have to jump.
When you remove a label, if not on purpose, you can bet that a GTO or an WEQ will fail soon or late. If the label is not there, you have chances not notice.
It is just my opinion, but you can have guessed that I don't like the SKIP and BACK commands with relative jumps, because you have to do maths when the calc can display the useful result directly.
In the contest of removing the labels, I would have preferred a JUMP command with an absolute line number (with same range as BACK and SKIP). (or GTOL for a GTO Line programmable)
Even better, having 2 more commands:
the first one SHRINK, non programmable, would convert the current program with labels to the form without labels (at least the numerical ones from the HP41C point of view).
The second one EXPAND, non programmable, doing the reverse, aka reinserting the labels.
The EXPANDed form would be (need to renumber the lines):
001 LBL'PF'
002 INT?
003 x<1?
004 RTN
005 STO K
006 2
LBL 03
007 RCL Y
008 [sqrt]
009 IP
010 STO I
011 DROP
LBL 02
012 x>? I
013 GTO 00
014 [cmplx]ENTER
015 RMDR
016 x=0?
017 GTO 01
018 DROP
019 NEXTP
020 GTO 02
LBL 01
021 DROP
022 STOP
023 STO/ Y
024 GTO 03
025 DROP
LBL 00
026 STOP
027 CLSTK
028 x[<->] K
029 [times]
030 RTN
The SHRINKed form:
001 LBL'PF'
002 INT?
003 x<1?
004 RTN
005 STO K
006 2
007 RCL Y
008 [sqrt]
009 IP
010 STO I
011 DROP
012 x>? I
013 GTOL 25
014 [cmplx]ENTER
015 RMDR
016 x=0?
017 GTOL 21
018 DROP
019 NEXTP
020 GTOL 12
021 DROP
022 STOP
023 STO/ Y
024 GTOL 7
025 DROP
026 STOP
027 CLSTK
028 x[<->] K
029 [times]
030 RTN
Patrice