Commodore 64 BASIC Referenz
Diese Tabelle enthält BASIC-Befehle, Funktionen und Kommandos des Commodore 64 (BASIC V2), wie sie im offiziellen Handbuch beschrieben sind. Jeder Eintrag hat eine kurze Erklärung und ein Beispiel. Mit dem Suchfeld können Sie schnell nach einem Befehl suchen. Zum Handbuch
| Befehl | Beschreibung | Beispiel |
|---|---|---|
ABS(X) | Liefert den Absolutwert von X. | PRINT ABS(-5) |
AND | Logische UND-Verknüpfung. | IF A>0 AND B>0 THEN PRINT "OK" |
ASC(A$) | Liefert den ASCII-Code des ersten Zeichens von A$. | PRINT ASC("A") |
ATN(X) | Arcustangens von X (in Radiant). | PRINT ATN(1) |
COS(X) | Kosinus von X (Bogenmaß). | PRINT COS(0) |
CHR$(X) | Wandelt eine Zahl in das entsprechende Zeichen um. | PRINT CHR$(65) |
CLOSE | Schließt einen offenen Dateikanal. | CLOSE 1 |
CLR | Löscht alle Variablen. | CLR |
CMD | Leitet Ausgaben an einen Kanal um. | CMD 4:PRINT "HELLO":CMD |
CONT | Setzt ein angehaltenes Programm fort. | CONT |
DATA | Definiert Daten für READ. | DATA 10,20,30 |
DEF FN | Definiert eine eigene Funktion. | DEF FNX(Y)=Y*Y |
DIM | Dimensioniert Arrays. | DIM A(10) |
END | Beendet ein Programm. | END |
EXP(X) | Exponentialfunktion (e^X). | PRINT EXP(1) |
FOR...NEXT | Wiederholungsschleife. | FOR I=1 TO 10:PRINT I:NEXT |
FN | Ruft eine definierte Funktion auf. | PRINT FNX(5) |
GET | Liest eine Taste ohne RETURN. | GET A$:IF A$<>"" THEN PRINT A$ |
GOSUB | Springt zu einer Unterroutine. | 10 GOSUB 100 ... 100 RETURN |
GOTO | Springt zu einer Programmzeile. | GOTO 100 |
IF...THEN | Bedingte Anweisung. | IF X>10 THEN PRINT "OK" |
INPUT | Fragt Benutzereingaben ab. | INPUT "NAME";A$ |
INT(X) | Ganzzahlanteil von X. | PRINT INT(3.7) |
LEN(A$) | Länge einer Zeichenkette. | PRINT LEN("HELLO") |
LET | Weist einer Variablen einen Wert zu (optional). | LET X=10 |
LIST | Listet Programm im Speicher. | LIST |
LOAD | Lädt ein Programm. | LOAD "GAME",8 |
LOG(X) | Natürlicher Logarithmus von X. | PRINT LOG(10) |
MID$(A$,S,L) | Teilstring aus A$ ab Position S mit Länge L. | PRINT MID$("HELLO",2,3) |
NEW | Löscht Programm aus Speicher. | NEW |
NEXT | Markiert Ende einer FOR-Schleife. | NEXT I |
NOT | Logische Negation. | IF NOT A=5 THEN PRINT "OK" |
ON...GOTO/GOSUB | Verzweigung anhand einer Zahl. | ON X GOTO 100,200,300 |
OPEN | Öffnet einen Dateikanal. | OPEN 1,8,2,"DATEI,S,W" |
OR | Logische ODER-Verknüpfung. | IF A=1 OR B=1 THEN PRINT "OK" |
PEEK(X) | Liest Byte aus Speicheradresse X. | PRINT PEEK(53280) |
POKE A,X | Schreibt Wert X in Speicheradresse A. | POKE 53280,0 |
POS(X) | Liefert Cursorposition in Zeile. | PRINT POS(0) |
PRINT | Gibt Werte/Text aus. | PRINT "HELLO" |
READ | Liest nächste DATA-Angabe. | READ A |
REM | Kommentarzeile. | REM DAS IST EIN KOMMENTAR |
RESTORE | Setzt DATA-Zeiger zurück. | RESTORE |
RETURN | Rückkehr aus Unterroutine. | RETURN |
RND(X) | Zufallszahl (abhängig von X). | PRINT RND(1) |
RUN | Startet ein Programm. | RUN |
SAVE | Speichert ein Programm. | SAVE "PROG",8 |
SGN(X) | Liefert -1,0,1 je nach Vorzeichen. | PRINT SGN(-10) |
SIN(X) | Sinus von X (Bogenmaß). | PRINT SIN(0) |
SPC(X) | Fügt X Leerzeichen ein. | PRINT "A";SPC(5);"B" |
SQR(X) | Quadratwurzel von X. | PRINT SQR(9) |
STEP | Schrittweite in FOR-Schleifen. | FOR I=10 TO 1 STEP -1 |
STOP | Stoppt Programm. | STOP |
STR$(X) | Wandelt Zahl in String. | A$=STR$(123) |
TAB(X) | Cursor an Spalte X. | PRINT TAB(10);"TEXT" |
TAN(X) | Tangens von X. | PRINT TAN(1) |
THEN | Teil der IF-Anweisung. | IF A=1 THEN PRINT "OK" |
TIME | Zählt Systemtakte (1/60 Sek). | PRINT TI |
TI$ | Systemuhr als String HHMMSS. | PRINT TI$ |
USR(X) | Ruft Maschinencode-Routine auf. | PRINT USR(0) |
VAL(A$) | Wandelt String in Zahl. | PRINT VAL("123") |
WAIT A,M[,X] | Wartet bis Bitmuster erfüllt. | WAIT 53280,1 |


Die Kombination aus Suchfeld, kurzer Erklärung und Beispiel macht die Tabelle als Nachschlagehilfe praktisch. Für Einsteiger wäre eine zusätzliche Kennzeichnung hilfreich: Welche Beispiele kann man direkt am BASIC-Prompt ausprobieren, und welche gehören in ein Programm mit Zeilennummern? Gerade bei GET und GOSUB wäre ein kleines, vollständig lauffähiges Beispiel anschaulicher als ein einzelnes Fragment. Daraus ließe sich gut ein winziges Ratespiel entwickeln, das Eingabe, Bedingungen und Zufallszahlen aus der Übersicht miteinander verbindet. Viele Grüße, Lukas – hier für Classic Gamez.
Hallo Lukas,
vielen Dank für das tolle und konstruktive Feedback!
Da hast du absolut recht: Gerade bei Befehlen wie GET oder GOSUB, die sich im Direktmodus oft anders verhalten oder ohne Programmumgebung gar keinen Sinn ergeben, ist die Unterscheidung zwischen Direkt-Eingabe und Zeilennummern-Programm Gold wert.
Die Idee mit dem winzigen Ratespiel greife ich sehr gerne auf! Ich werde demnächst eine kleine, lauffähige Mini-Beispielbox (vielleicht genau mit diesem Zahlenraten aus Eingabe, Bedingungen und einer Prise Zufall) als Ergänzung direkt unter die Tabelle packen.
Viele Grüße
Tobias 🙂