C64 BASIC V2.0: Befehl: SAVE

SAVE

  • Token: 148 / $94 | Abkürzung: sA | ROM Exec: 57686 / $E156
  • Typ: Anweisung | Funktion: Input/Output, Programme sichern
  • Syntax: SAVE [<“file name”>”][,<devices number>][,<address>]

Aktion, Hinweise, Tipps, Tricks:

Mit dem Befehl SAVE wird das aktuell im Speicher befindliche Programm auf Band oder Diskette gespeichert. Das gespeicherte Programm wird nur während des SAVE-Vorgangs vom Befehl beeinflusst. Das Programm bleibt auch nach dem SAVE-Vorgang im aktuellen Computerspeicher, bis Sie mit einem anderen Befehl etwas anderes dort ablegen.

Der Dateityp ist „prg“ (Programm). Wird die <device number> weggelassen, geht der C64 automatisch davon aus, dass das Programm auf Kassette mit der Gerätenummer 1 gespeichert werden soll. Ist die eine <8>, wird das Programm auf Diskette geschrieben. Der SAVE-Befehl kann in Ihren Programmen verwendet werden, und die Ausführung wird nach Abschluss des SAVE-Befehls mit dem nächsten Befehl fortgesetzt.

Programme auf Band werden automatisch zweimal gespeichert, damit Ihr Commodore 64 beim erneuten Laden des Programms auf Fehler prüfen kann. Beim Speichern von Programmen auf Band sind der <file name> und die sekundäre <address> optional. Wenn Sie jedoch nach einem SAVE-Befehl einen Programmnamen in Anführungszeichen (“”) oder eine String-Variable (—$) angeben, findet Ihr Commodore 64 jedes Programm leichter. Wird der Dateiname weggelassen, kann das Programm später NICHT mehr nach Namen geladen werden. Eine Sekundäradresse von I weist den Kernel an, das Band später zu laden, wobei sich das Programm aktuell im Speicher befindet und nicht an der normalen Adresse 2048. Eine Sekundäradresse von 2 bewirkt, dass dem Programm eine Bandende-Markierung folgt. Eine Sekundäradresse von 3 kombiniert beide Funktionen. Beim Speichern von Programmen auf einer Festplatte muss der Dateiname angegeben werden.


Beispiele:

    SAVE               (Auf Band ohne Namen schreiben)
    SAVE"ALPHA",1      (Auf Band mit dem Dateinamen "ALPHA" speichern")
    SAVE"ALPHA",1,2    ("ALPHA" mit Bandende-Markierung speichern)
    SAVE"FUN.DISK",8   (Auf Diskettenlaufwerk speichern)
    SAVE A$            (Auf Band mit Dateinamen A$ speichern)
    10 SAVE"HI"        (Programm speichern und zur nächsten Programmzeile springen)
    SAVE"ME",1,3       (Am selben Speicherort speichern und mit einer Bandende-Markierung versehen)

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: LOAD

LOAD

  • Token: 147 / $93 | Abkürzung: lO | ROM Exec: 57704 / $E168
  • Typ: Anweisung | Funktion: Input/Output, Lädt Programme
  • Syntax: LOAD[“<file name>”][,device>][,address>]

Aktion, Hinweise, Tipps, Tricks:

Die LOAD-Anweisung liest den Inhalt einer Programmdatei von Band oder Festplatte in den Speicher. So können Sie die geladenen Informationen verwenden oder ändern. Die Gerätenummer ist optional. Wird sie jedoch weggelassen, verwendet der Computer automatisch die Kassetteneinheit 1. Die Festplatteneinheit ist normalerweise die Gerätenummer 8. LOAD schließt alle geöffneten Dateien und führt im Direktmodus vor dem Lesen des Programms einen CLR (Clear) aus. Wird LOAD innerhalb eines Programms ausgeführt, ist das Programm RUN. Das bedeutet, dass Sie LOAD verwenden können, um mehrere Programme miteinander zu verketten. Während einer Verkettung werden keine Variablen gelöscht.

Bei Verwendung der Dateinamen-Mustererkennung wird die erste Datei geladen, die dem Muster entspricht. Das Sternchen in Anführungszeichen (“*”) bewirkt, dass der erste Dateiname im Festplattenverzeichnis geladen wird. Existiert der verwendete Dateiname nicht oder handelt es sich nicht um eine Programmdatei, wird die BASIC-Fehlermeldung „?FILE NOT FOUND“ angezeigt. Beim Laden von Programmen vom Band kann der Dateiname weggelassen werden, und die nächste Programmdatei auf dem Band wird gelesen. Der Commodore 64 blendet den Bildschirm nach dem Drücken der Wiedergabetaste auf die Rahmenfarbe aus. Sobald das Programm gefunden wurde, wird der Bildschirm auf die Hintergrundfarbe zurückgesetzt und die Meldung „FOUND“ angezeigt. Durch Drücken der Tasten <C=>, <CTRL>, <ARROW LEFT> oder <SPACE BAR> wird die Datei geladen. Programme werden ab Speicherplatz 2048 geladen, sofern nicht eine sekundäre Adresse von 1 verwendet wird. Bei Verwendung der sekundären Adresse 1 wird das Programm an den Speicherplatz geladen, von dem es gespeichert wurde.


Beispiele:

    LOAD                         (Liest das nächste Programm auf dem Band)
    LOAD A$                      (Verwendet den Namen in A$ zur Suche)
    LOAD"*",8                    (Lädt das erste Programm auf der Diskette)
    LOAD"",1,1                   (Sucht das erste Programm auf dem Band und lädt es in denselben Speicherbereich, aus dem es stammt)

    LOAD"STAR TREK"              (Lädt eine Datei vom Band)
    PRESS PLAY ON TAPE
    FOUND STAR TREK
    LOADING
    READY.

    LOAD"FUN",8                  (Lädt eine Datei von Diskette)
    SEARCHING FOR FUN
    LOADING
    READY.

    LOAD"GAME ONE",8,1           (Lädt eine Datei von Diskette in den denselben Speicherbereich, aus dem es stammt)
    READY.

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: ON

ON

  • Token: 145 / $91 | Abkürzung: – | ROM Exec: 43339 / $A94B
  • Typ: Anweisung | Funktion: Programmstruktur
  • Syntax: ON <variable> GOTO <line number>[,<line number>]…
  • Syntax: ON <variable> GOSUB <line number>[,<line number>]…

Aktion, Hinweise, Tipps, Tricks:

Die ON-Anweisung dient dazu, abhängig vom Wert einer Variable zu einer von mehreren vorgegebenen Zeilennummern zu gelangen. Der Wert der Variablen kann zwischen null und der angegebenen Zeilenanzahl liegen. Ist der Wert nicht ganzzahlig, wird der Nachkommateil weggelassen. Beispiel: Wenn der Variablenwert 3 ist, führt ON zur dritten Zeilennummer in der Liste.

Ist der Variablenwert negativ, erscheint die BASIC-Fehlermeldung „?ILLEGAL QUANTITY“. Ist die Zahl null oder grer als die Anzahl der Einträge in der Liste, ignoriert das Programm die Anweisung und fährt mit der Anweisung nach der ON-Anweisung fort. ON ist eine wenig genutzte Variante der IF…THEN…-Anweisung. Anstatt viele IF-Anweisungen zu verwenden, die das Programm jeweils zu einer bestimmten Zeile schicken, kann eine ON-Anweisung eine Reihe von IF-Anweisungen ersetzen. Im ersten Beispiel wird Ihnen auffallen, dass die eine ON-Anweisung vier IF…THEN…-Anweisungen ersetzt.


Beispiele:

  ON -(A=7)-2*(A=3)-3*(A<3)-4*(A>7)GOTO 400,900,1000,100
  ON X GOTO 100,130,180,220
  ON X+3 GOSUB 9000,20,9000
  100 ON NUM GOTO 150,300,320,390
  500 ON SUM/2 + 1 GOSUB 50,80,20

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: STOP

STOP

  • Token: 144 / $90 | Abkürzung: sT | ROM Exec: 43055 / $A82F
  • Typ: Anweisung | Funktion: Programmkontrolle
  • Syntax: STOP

Aktion, Hinweise, Tipps, Tricks:

Die STOP-Anweisung hält die Ausführung des aktuellen Programms an und kehrt in den Direktmodus zurück. Das Drücken der Taste <RUN/STOP> auf der Tastatur hat die gleiche Wirkung wie eine STOP-Anweisung. Die BASIC-Fehlermeldung „?BREAK IN LINE nnnnn“ wird auf dem Bildschirm angezeigt, gefolgt von „READY“. „nnnnn“ steht für die Zeilennummer, in der der STOP auftritt. Geöffnete Dateien bleiben geöffnet, alle Variablen bleiben erhalten und können überprüft werden. Das Programm kann mit CONT- oder GOTO-Anweisungen neu gestartet werden.


Beispiele:

    10 INPUT#1,AA,BB,CC
    20 IF AA=BB AND BB=CC THEN STOP
    30 STOP
                    
  BREAK IN LINE 20        (Wenn die Variable AA -1 und BB gleich CC ist, dann:)
  BREAK IN LINE 30        (Für alle anderen Datenwerte)

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: REM

REM

  • Token: 143 / $8F | Abkürzung: – | ROM Exec: 43323 / $A93B
  • Typ: Anweisung | Funktion: Programmstruktur, Bemerkungen
  • Syntax: REM [<remark>]

Aktion, Hinweise, Tipps, Tricks:

Die REM-Anweisung erleichtert das Verständnis Ihrer Programme, wenn sie in einer Liste aufgeführt sind. Sie dient Ihnen als Erinnerung daran, was Sie beim Schreiben der einzelnen Programmabschnitte im Sinn hatten. Beispielsweise möchten Sie sich merken, wofür eine Variable verwendet wird oder andere nützliche Informationen. Die REMark kann ein beliebiger Text, ein Wort oder ein beliebiges Zeichen sein, einschließlich des Doppelpunkts (:) oder BASIC-Schlüsselwörtern. Die REM-Anweisung und alle darauf folgenden Zeilennummern werden von BASIC ignoriert. REMarks werden jedoch beim Auflisten des Programms genau so ausgegeben, wie sie eingegeben wurden. Eine REM-Anweisung kann mit einer GOTO- oder GOSUB-Anweisung referenziert werden, und die Ausführung des Programms wird mit der nächsthöheren Programmzeile mit ausführbaren Anweisungen fortgesetzt.


Beispiele:

    10 REM CALCULATE AVERAGE VELOCITY
    20 FOR X= 1 TO 20 :REM LOOP FOR TWENTY VALUES
    30 SUM=SUM + VEL(X): NEXT
    40 AVG=SUM/20

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: RETURN

RETURN

  • Token: 142 / $8E | Abkürzung: reT | ROM Exec: 43218 / $A8D2
  • Typ: Anweisung | Funktion: Programmstruktur
  • Syntax: RETURN

Aktion, Hinweise, Tipps, Tricks:

Die RETURN-Anweisung dient zum Verlassen einer von einer GOSUB-Anweisung aufgerufenen Unterroutine. RETURN startet den Rest des Programms bei der nächsten ausführbaren Anweisung nach GOSUB neu. Bei verschachtelten Unterroutinen muss jede GOSUB-Anweisung mit mindestens einer RETURN-Anweisung gepaart sein. Eine Unterroutine kann beliebig viele RETURN-Anweisungen enthalten, die erste Anweisung beendet jedoch die Unterroutine.


Beispiele:

    10 PRINT"THIS IS THE PROGRAM"
    20 GOSUB 1000
    30 PRINT"PROGRAM CONTINUES"
    40 GOSUB 1000
    50 PRINT"MORE PROGRAM"
    60 END
    1000 PRINT"THIS IS THE GOSUB":RETURN

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: GOSUB

GOSUB

  • Token: 141 / $8D | Abkürzung: goS | ROM Exec: 43139 / $A883
  • Typ: Anweisung | Funktion: Programmstruktur
  • Syntax: GOSUB <line number>

Aktion, Hinweise, Tipps, Tricks:

Aktion: Dies ist eine spezielle Form der GOTO-Anweisung mit einem wichtigen Unterschied: GOSUB merkt sich seine ursprüngliche Funktion. Wenn die RETURN-Anweisung (nicht identisch mit der <RETURN>-Taste auf der Tastatur) im Programm erreicht wird, springt das Programm zurück zur Anweisung, die unmittelbar auf die ursprüngliche GOSUB-Anweisung folgt.

Der Hauptzweck einer Subroutine (GOSUB bedeutet eigentlich „GO to a SUBroutine“) besteht darin, dass ein kleiner Programmabschnitt von verschiedenen Programmabschnitten verwendet wird. Durch die Verwendung von Subroutinen, anstatt dieselben Zeilen immer wieder an verschiedenen Stellen im Programm zu wiederholen, lässt sich viel Programmspeicherplatz sparen. GOSUB ähnelt DEF FN. DEF FN spart Platz bei der Verwendung einer Formel, während GOSUB bei der Verwendung einer mehrzeiligen Routine Platz spart.


Beispiele:

    100 PRINT "THIS PROGRAM PRINTS"
    110 FOR L = 1 TO 500:NEXT
    120 PRINT "SLOWLY ON THE SCREEN"
    130 FOR L = 1 TO 500:NEXT
    140 PRINT "USING A SIMPLE LOOP"
    150 FOR L = 1 TO 500:NEXT
    160 PRINT "AS A TIME DELAY."
    170 FOR L = 1 TO 500:NEXT

Hier ist das gleiche Programm mit GOSUB:

    100 PRINT "THIS PROGRAM PRINTS"
    110 GOSUB 200
    120 PRINT "SLOWLY ON THE SCREEN"
    130 GOSUB 200
    140 PRINT "USING A SIMPLE LOOP"
    150 GOSUB 200
    160 PRINT "AS A TIME DELAY."
    170 GOSUB 200
    180 END
    200 FOR L = 1 TO 500 NEXT
    210 RETURN

Jedes Mal, wenn das Programm ein GOSUB ausführt, werden die Zeilennummer und die Position in der Programmzeile in einem speziellen Bereich, dem sogenannten „Stack“, gespeichert, der 256 Bytes Speicher belegt. Dies begrenzt die Datenmenge, die im Stack gespeichert werden kann. Daher ist die Anzahl der speicherbaren Subroutinen-Rücksprungadressen begrenzt. Es sollte darauf geachtet werden, dass jedes GOSUB die entsprechende RETURN-Adresse erreicht, da sonst der Speicher knapp wird, obwohl genügend Bytes frei sind.


Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: RESTORE

RESTORE

  • Token: 140 / $8C | Abkürzung: reS | ROM Exec: 43037 / $A81D
  • Typ: Anweisung | Funktion: Variablen
  • Syntax: RESTORE

Aktion, Hinweise, Tipps, Tricks:

BASIC verwaltet einen internen Zeiger auf die nächste zu lesende DATA-Konstante. Dieser Zeiger kann mit der RESTORE-Anweisung auf die erste DATA-Konstante in einem Programm zurückgesetzt werden. Die RESTORE-Anweisung kann an beliebiger Stelle im Programm verwendet werden, um das erneute Lesen von DATA zu starten.


Beispiele:

100 FOR X=1 TO 10: READ A(X): NEXT
200 RESTORE
300 FOR Y=1 TO 10: READ B(Y): NEXT
4000 DATA 3.08, 5.19, 3.12, 3.98, 4.24
4100 DATA 5.08, 5.55, 4.00, 3.16, 3.37

Füllt die beiden Arrays mit identischen Daten
10 DATA 1,2,3,4
20 DATA 5,6,7,8
30 FOR L= 1 TO 8
40 READ A: PRINT A
50 NEXT
60 RESTORE
70 FOR L= 1 TO 8
80 READ A: PRINT A
90 NEXT

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: WAIT

WAIT

  • Token: 146 / $92 | Abkürzung: wA | ROM Exec: 47149 / $B82D
  • Typ: Anweisung | Funktion: System
  • Syntax: WAIT <location>,<mask.1>[,<mask-2>]

Aktion, Hinweise, Tipps, Tricks:

Die WAIT-Anweisung unterbricht die Programmausführung, bis eine bestimmte Speicheradresse ein bestimmtes Bitmuster erkennt. Anders ausgedrückt: WAIT kann verwendet werden, um das Programm anzuhalten, bis ein externes Ereignis eintritt. Dies geschieht durch die Überwachung des Bitstatus in den Ein-/Ausgaberegistern.

Die mit WAIT verwendeten Datenelemente können beliebige numerische Ausdrücke sein, werden jedoch in ganzzahlige Werte umgewandelt. Die meisten Programmierer sollten diese Anweisung niemals verwenden. Sie hält das Programm an, bis sich die Bits einer bestimmten Speicheradresse auf eine bestimmte Weise ändern. Sie wird für bestimmte I/O-Operationen und fast nur für andere Zwecke verwendet.

Die WAIT-Anweisung verwendet den Wert der Speicheradresse und führt eine logische UND-Verknüpfung mit dem Wert in Maske 1 durch. Enthält die Anweisung eine Maske 2, wird das Ergebnis der ersten Operation exklusiv ODER mit Maske 2 verknüpft. Maske 1 filtert also alle Bits heraus, die nicht getestet werden sollen. Wenn das Bit in Maske 1 0 ist, ist das entsprechende Bit im Ergebnis immer 0. Der Wert von Maske 2 dreht alle Bits um, sodass sowohl der Aus- als auch der Ein-Zustand geprüft werden können. Alle Bits, die auf 0 geprüft werden, sollten an der entsprechenden Stelle in Maske 2 ein I haben.

Unterscheiden sich die entsprechenden Bits der Operanden und , ergibt die Exklusiv-ODER-Verknüpfung ein Bitergebnis von 1. Ergeben die entsprechenden Bits dasselbe Ergebnis, ist das Bit 0. Mit der Anweisung WAIT kann eine unendliche Pause eingeleitet werden. In diesem Fall können die Tasten <RUN/STOP> und <RESTORE> zur Wiederherstellung verwendet werden. Halten Sie die <RUN/STOP> Taste gedrückt und drücken Sie dann <RESTORE>. Das erste Beispiel unten wartet, bis eine Taste auf dem Bandgerät gedrückt wird, um das Programm fortzusetzen. Das zweite Beispiel wartet, bis ein Sprite mit dem Bildschirmhintergrund kollidiert.


Beispiele:

WAIT 1,32,32
WAIT 53273,6,6
WAIT 36868,144,16

(144 und 16 sind Masken. 144 = 10010000 im Binärformat und 16 = 10000 im Binärformat.
Die WAIT-Anweisung hält das Programm an, bis das 128-Bit aktiviert oder das 16-Bit deaktiviert ist.)

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$



C64 BASIC V2.0: Befehl: RUN

RUN

  • Token: 138 / $8A | Abkürzung: rN | ROM Exec: 57495 / $E097
  • Typ: Anweisung | Funktion: Programmstart
  • Syntax: RUN [<line number>]

Aktion, Hinweise, Tipps, Tricks:

Der Systembefehl RUN dient zum Starten des aktuell im Speicher befindlichen Programms.

Der RUN-Befehl führt vor dem Programmstart eine implizite CLR-Operation aus. Sie können die CLeaRing-Operation vermeiden, indem Sie anstelle von RUN CONT oder GOTO verwenden, um ein Programm neu zu starten. Wenn eine angegeben ist, startet Ihr Programm in dieser Zeile. Andernfalls startet der RUN-Befehl in der ersten Zeile des Programms.

Der RUN-Befehl kann auch innerhalb eines Programms verwendet werden. Existiert die angegebene <line-number> nicht, wird die BASIC-Fehlermeldung UNDEF’D STATEMENT angezeigt. Ein RUN-Programm wird gestoppt und BASIC kehrt in den Direktmodus zurück, wenn eine END- oder STOP-Anweisung erreicht wird, die letzte Zeile des Programms beendet ist oder während der Ausführung ein BASIC-Fehler auftritt.


Beispiele:

RUN: REM Startet in der ersten Programmzeile
RUN 500: REM Startet in Zeile 500
RUN X: REM Startet in Zeile X oder UNDEF'D STATEMENT ERROR, falls Zeile X fehlt

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$