TRON

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. Der Artikel zum gleichnamigen Film hat das Lemma Tron (Film).


TRON
Syntax: TRON
Parameter
Einordnung
Typ: Befehl
Kontext: Fehlersuche
Aufgabe: Programmablaufverfolgung einschalten
Abkürzung: trO
Token: $d8 (216)
Verwandte Befehle
TROFF

Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl TRON ab Commodore BASIC V3.5 oder höher.

Der Befehl TRON (engl. TRace ON) schaltet die Programmablaufverfolgung (engl. Tracing) ein.

Mit eingeschalteter Programmablaufverfolgung gibt der BASIC-Interpreter während der Abarbeitung des Programms vor dem Ausführen des aktuellen Programmzeilenteils (durch ":" getrennt) in eckigen Klammern die Zeilennummer, z.B. [100] (ohne Zeilenvorschub), auf dem Bildschirm bzw. am aktuellen Ausgabekanal aus. Dies erleichtert die Entwicklung von Basic-Programmen insofern, dass die Abarbeitung des Programms bzw. die Abfolge der verarbeiteten Zeilen genau verfolgt werden kann. Allerdings haben diesen zusätzlichen Ausgaben die Nebenwirkung, dass dadurch der Bildschirmaufbau bzw. die Daten am aktuellen Ausgabekanal durch die Zeilennummerinformation mitunter "gestört" werden.

Der Befehl kann sowohl im Direktmodus als auch in einem Programm verwendet werden. Das Einbinden in ein Programm erlaubt eine gezielte Steuerung der Ausgabe dieser Analyseinformation, beispielsweise um sie von bildschirmausgabe-dominierten Teilen fern zu halten oder nur interessante Programmteile oder Unterprogramme zu untersuchen.

Mit dem Befehl TROFF wird die Programmablaufverfolgung wieder ausgeschaltet.

Beispiel[Bearbeiten | Quelltext bearbeiten]

Selektive Verwendung von TRON/TROFF:

10 DIM B(255)
20 S$="WELCHER IST DOPPELT?"
100 PRINT S$
110 GOSUB 200
120 PRINT "ERSTES DOPPELTE ZEICHEN:"
130 PRINT USING "  #### ####  POS:###&###";CHR$(F),F,B(F),I-256
199 END
200 REM ERSTES DOPPELTE ZEICHEN
201 TRON
210 FOR I=1 TO LEN(S$)                        über alle Zeichen
220 Z=ASC(MID$(S$,I,1))                       PETSCII-Code
230 IF B(Z) THEN F=Z: I=I+255: GOTO 250       2. Mal gefunden!
240 B(Z)=I                                    1. Mal gefunden
250 NEXT I
259 TROFF:PRINT
260 RETURN

Die für die Analyse ergänzten Zeilen sind hervorgehoben.
Das Programm produziert folgende Ausgabe (ergänzender Kommentar kursiv):

WELCHER IST DOPPELT?
[210][220][230][240][250][220][230][240]  Schleifeneintritt, 1. Durchlauf
[250][220][230][240][250][220][230][240]  2. Durchlauf (1. "E"), 3. Durchl.
[250][220][230][240][250][220][230][230]  4. u. 5. Durchlauf, 6. Durchlauf
[230][230][250][259]                      (2. "E") gefunden, mehrere Teile in Zeile 230! 
ERSTES DOPPELTE ZEICHEN:
  E     69  POS:  2&  6

READY.