Ziel
Du lässt ein Programm an eine andere Stelle springen, statt Schritt für Schritt weiterzulaufen.
Das Prinzip
GTO (go to) setzt den Programmzeiger um. Es gibt zwei Formen:
| Form | Beispiel | Schritte im Listing |
|---|---|---|
| zu einem Label | GTO A | 2: 61 und der Labelcode |
| zu einer festen Adresse | GTO 008 | 3: 61, 00, 08 |
Ein Sprung zu einem Label ist robust: Fügst du später Schritte ein, findet GTO das Label trotzdem. Eine feste Adresse muss nach jeder Änderung stimmen, dafür ist der Sprung schneller, weil der Rechner nicht suchen muss.
Von Hand gedrückt (außerhalb des LRN-Modus) setzt GTO nnn nur den Zeiger, damit man dort weiterarbeiten kann (Lektion 2.4).
Vormachen
Ein Programm, das einen Programmteil überspringt:
2nd CP,LRN.×2GTO008×10=R/SLRN,RST,5R/S– Anzeige10.
000 65 × 004 08 08 008 95 =
001 02 2 005 65 × 009 91 R/S
002 61 GTO 006 01 1
003 00 00 007 00 0
Der Teil × 1 0 auf den Schritten 005 bis 007 wird nie ausgeführt: Der Sprung landet direkt auf dem = in Schritt 008.
Üben
- Ersetze
GTO 008durch ein Label: Setze vor das=ein2nd Lbl Bund springe mitGTO B. Wie viele Schritte ist das Programm jetzt lang? - Was passiert, wenn das Sprungziel mitten in einer Zahl landet, zum Beispiel auf Schritt 007? Probiere es aus und erkläre das Ergebnis.
Probe
Schreibe unter A ein Programm, das die Eingabe verdoppelt und den Teil + 1 0 0 mit GTO B überspringt. 5 A muss 10. zeigen.
Rückblick
GTO x (Label), GTO nnn (Adresse), Code 61.
Lösung der Probe: 2nd Lbl A × 2 GTO B + 1 0 0 2nd Lbl B = R/S.
Weiter mit Lektion 3.2: Entscheiden · zurück zu Lektion 2.4 · Kursübersicht
