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:

FormBeispielSchritte im Listing
zu einem LabelGTO A2: 61 und der Labelcode
zu einer festen AdresseGTO 0083: 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:

  1. 2nd CP, LRN.
  2. × 2 GTO 0 0 8 × 1 0 = R/S
  3. LRN, RST, 5 R/S – Anzeige 10.
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

  1. Ersetze GTO 008 durch ein Label: Setze vor das = ein 2nd Lbl B und springe mit GTO B. Wie viele Schritte ist das Programm jetzt lang?
  2. 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