EXEC (TSB)

Aus C64-Wiki
Wechseln zu: Navigation, Suche
EXEC (TSB)
Format: [EXEC] <label>
Parameter
label: Name einer Prozedur
Einordnung
Typ: Anweisung
Kontext: Strukturkontrolle
Aufgabe: Aufrufen einer Prozedur
Abkürzung: eX
Verwandte Befehle
CALL - PROC - END PROC


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort EXEC (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls EXEC.

Typ: Anweisung 
Syntax: [EXEC] <label>

In TSB können genau wie in Simons' Basic Unterprogramme mit einem Namen versehen werden (siehe PROC). Sie werden dadurch unabhängig von ihrer Lage im Programm und der Programmierer kann leichter den Überblick bewahren (Namen lassen sich leichter einem Zweck zuordnen als Zeilennummern). Der Befehl EXEC ruft ein solches Unterprogramm auf, arbeitet es ab und kehrt an seinen Ausgangsort zurück. Er entspricht damit weitgehend dem BASIC-V2-Befehl GOSUB.

Anders als in Simons' Basic darf das Schlüsselwort EXEC weggelassen werden (ähnlich wie LET bei der Wertezuweisung an Variablen). Außerdem dürfen in der Zeile, in der ein Prozeduraufruf verwendet wird, beliebige weitere BASIC-Befehle folgen. Auch ein Leerzeichen am Anfang eines Labels (die eventuelle Lücke zwischen PROC und dem Labelnamen wie im Beispiel unten) ignoriert das TSB-EXEC. Prozeduraufrufe sind damit viel flexibler zu handhaben als unter Simons' Basic (vgl. Beispiel 2 zum TSB-Befehl DUP).

Wird das Label hinter EXEC im Programm nicht gefunden, so erscheint die Fehlermeldung ?PROC NOT FOUND ERROR. Wenn ein TSB-Programm auf ein Prozedurende (END PROC) trifft, ohne eine Prozedur aufgerufen zu haben, erscheint die Meldung ?END PROC WITHOUT EXEC ERROR. Bei zu vielen Verschachtelungen (bei mehr als zehn) meldet TSB einen ?STACK TOO LARGE ERROR.

Beispiel: 

10 PRINT "Bitte eine Taste druecken!":warten:PRINT "Danke"
999 END

1000 PROC warten
1010 DO NULL
1020 END PROC

(Nach der Aufforderung, eine Taste zu drücken, wartet das Programm und gibt schließlich
eine Rückmeldung aus)

Ein komplettes Anwendungsbeispiel beim Simons-Basic-
Befehl MOB SET (Beipiel 2).