Post Reply 
WP 34S - How do I use aGTO with stack registers?
12-13-2017, 11:46 AM
Post: #1
WP 34S - How do I use aGTO with stack registers?
Hi,

I played a bit with the "alpha GOTO" (aGTO) command which is a very powerful command for branching.

The description on p. 186 of my printed manual (V3.3) reads:
aGTO _s_
Interprets _s_ as a character code. Takes the first 3 characters of the converted code (or all if there are less than 3) as an alpha label and positions the program pointer to it.

I had some problems with applying this function correctly.

1) Direct addressing
If I have 101 or 101.234 in R00 and "aGTO 00", the program counter is set to LBL 'e' (char code 101d).
This works as I expected.
However, if I have 101234 in R00 and "aGTO 00" I get "No such Label".
Obviously the register must contain less than 4 digits and the command does not just "take the first 3 characters", as per description.

2) Indirect addressing
If I have 101 in R00 and 0 in R01 "aGTO->01" the program counter is set to LBL 'e'.
This works as I expected.

3) Indirect addressing via a stack register
If I have 101 in R00 and 0 in RX "aGTO->.X" the program counter is set to LBL 'e'.
This works as I expected.

3) Direct addressing via a stack register
If I have 101 in RX and "aGTO .X", I would expect the same outcome, but I receive "No such Label".
Am I doing something wrong here?

Proposed alternative description:

aGOTO _s_
Interprets the content of _s_ as a character code.
Converts the integer part of the register content (must have 3 or less digits) to a character and positions the program pointer at the corresponding global label.
... some comments on the usage of stack registers if needed ...

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


Messages In This Thread
WP 34S - How do I use aGTO with stack registers? - Martin Hepperle - 12-13-2017 11:46 AM



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