CLR
CLR | |
Syntax: | CLR |
Parameter | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Variablen |
Aufgabe: | Freigeben von Variablen und Datenkanälen sowie Rücksetzen des internen BASIC-Status |
Abkürzung: | cL |
Token: | $9c (156) |
Verwandte Befehle | |
DIM, FRE, NEW, RUN |
Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl CLR unter BASIC V2 des Commodore 64.
Der BASIC-Befehl CLR "löscht" im Speicher angelegten BASIC-Variablen bzw. gibt genau genommen den dadurch belegten Speicherplatz sowie sonstige von BASIC benutzte Bereiche (z.B. den Stapelspeicher) wieder frei und und schließt eventuell offene Ein-/Ausgabekanäle (siehe OPEN).
Die Funktion ist auch impliziter Bestandteil des RUN-Befehls.
Als parameterloser Befehl führen etwaige dem Befehl folgende Angaben zu einem ?SYNTAX ERROR.
Konkret werden alle Variablen, Felder (siehe DIM), die aktuelle DATA-Zeile, definierte Funktionen (siehe DEF FN), Sprungadressen von Unterprogrammen (siehe GOSUB) und Schleifenvariablen (siehe FOR und NEXT) gelöscht, indem deren interne Datenstrukturen (Stapelspeicher, String-Stapel, String-Heap etc. des Basic-Interpreters auf einen initialen Stand zurückgesetzt werden. Damit steht wieder mehr RAM-Speicher, entsprechend dem Zustand nach dem Laden eines Programms, zur Verfügung. Ein manuell oder mittels STOP angehaltenes Programm lässt sich dann auch nicht mehr mittels CONT fortsetzen.
Außerdem geht der Zugriff auf geöffnete Dateien von Datenträgern wie Diskette und Datasette verloren, da der entsprechende Datenpuffer und der Status zur Datei verloren geht, auch wenn die Datei nicht geschlossen wurde. Es hängt dann vom jeweiligen Gerät ab, wie mit nicht sauber abgeschlossenen Dateien verfahren wird.
Beispiele[Bearbeiten | Quelltext bearbeiten]
10 A=64 : B$="COMMODORE" : C%=128 20 D$ = B$ + STR$(A) 30 PRINT D$ " UND " B$ C% ; FRE(0)+65536 40 CLR 50 PRINT : PRINT B$ A " UND " B$ C% ; FRE(0)+65536
zeigt
COMMODORE 64 UND COMMODORE 128 38732 0 UND 0 38772 |
ABS | AND | ASC | ATN | CHR$ | CLOSE | CLR | CMD | CONT | COS | DATA | DEF | DIM | END | EXP | FN | FOR | FRE | GET | GET# | GOSUB | GOTO | IF | INPUT | INPUT# | INT | LEFT$ | LEN | LET | LIST | LOAD | LOG | MID$ | NEW | NEXT | NOT | ON | OPEN | OR | PEEK | POKE | POS | PRINT | PRINT# | READ | REM | RESTORE | RETURN | RIGHT$ | RND | RUN | SAVE | SGN | SIN | SPC | SQR | STATUS/ST | STEP | STOP | STR$ | SYS | TAB | TAN | THEN | TIME/TI | TIME$/TI$ | TO | USR | VAL | VERIFY | WAIT