**** ALLES AUF EINEN BLICK ****
C64-BASIC-Spickzettel
Die wichtigsten Befehle, Funktionen und Schreibweisen von Commodore BASIC V2, ohne Erklärtext. Zum Danebenlegen beim Programmieren, mit eigenem Drucklayout.
Ausführliche Erklärungen mit Beispielen stehen im Befehls-Lexikon und auf den Befehlsseiten. Hier geht es nur um den schnellen Blick.
Grundlagen
Sofort ausfuehren (Direktmodus)
PRINT "HALLO" | Text ausgeben |
PRINT 7*8 | Rechnen |
A=10 | Wert speichern |
A$="TEXT" | Text speichern |
RUN | Programm starten |
LIST | Programm anzeigen |
NEW | Programm löschen |
CLR | Nur Variablen löschen |
CONT | Nach STOP fortsetzen |
Programm schreiben
10 PRINT "A" | Zeile speichern |
10 | Zeile 10 löschen |
10 A=1:B=2 | Mehrere Befehle je Zeile |
10 REM TEXT | Kommentar |
END | Programm beenden |
STOP | Anhalten, CONT setzt fort |
Esc | Laufendes Programm abbrechen |
Ausgabe
PRINT A;B | Direkt hintereinander |
PRINT A,B | Nächste Zehnerspalte |
PRINT A; | Cursor bleibt in der Zeile |
PRINT | Leerzeile |
PRINT TAB(10);"X" | Ab Spalte 10 |
PRINT SPC(5);"X" | Fünf Leerzeichen einfügen |
? "HALLO" | Kurzform von PRINT |
Eingabe
INPUT A | Zahl abfragen |
INPUT A$ | Text abfragen |
INPUT "FRAGE";A | Mit eigener Frage |
INPUT A,B | Zwei Werte auf einmal |
GET A$ | Taste lesen, ohne zu warten |
Ablauf steuern
Entscheidungen
IF A>3 THEN PRINT "X" | Befehl nur bei Zutreffen |
IF A=1 THEN 100 | Sprung zu Zeile 100 |
IF A=1 GOTO 100 | Gleichbedeutend |
IF A>0 AND B>0 THEN ... | Beide Bedingungen |
IF A=1 OR A=2 THEN ... | Mindestens eine |
ON X GOTO 10,20,30 | Sprung je nach Wert von X |
Schleifen
FOR I=1 TO 10 | Zählschleife starten |
FOR I=10 TO 1 STEP -1 | Rückwärts |
NEXT | Innerste Schleife schliessen |
NEXT I | Bestimmte Schleife schliessen |
GOTO 20 | Sprung, auch rückwärts |
FOR D=1 TO 50:NEXT | Kurz warten |
Unterprogramme
GOSUB 100 | Aufrufen |
RETURN | Zurückkehren |
ON X GOSUB 100,200 | Auswahl aufrufen |
DEF FN Q(X)=X*X | Eigene Funktion |
PRINT FN Q(4) | Funktion benutzen |
Felder und Daten
DIM A(20) | Feld mit A(0) bis A(20) |
DIM S(3,4) | Zweidimensional |
A(3)=7 | Platz beschreiben |
DATA 1,2,"TEXT" | Feste Werte ablegen |
READ A | Nächsten Wert holen |
RESTORE | Lesezeiger zurücksetzen |
Funktionen und Operatoren
Rechnen
+ - * / | Grundrechenarten |
^ | Potenz, 2^3 ergibt 8 |
INT(X) | Abrunden |
ABS(X) | Betrag ohne Vorzeichen |
SGN(X) | Vorzeichen: -1, 0 oder 1 |
SQR(X) | Quadratwurzel |
RND(1) | Zufallszahl 0 bis unter 1 |
INT(RND(1)*6)+1 | Würfel 1 bis 6 |
SIN COS TAN ATN | Winkel im Bogenmass |
EXP(X) LOG(X) | Exponent und Logarithmus |
Text
LEN(A$) | Anzahl Zeichen |
LEFT$(A$,3) | Erste 3 Zeichen |
RIGHT$(A$,3) | Letzte 3 Zeichen |
MID$(A$,2,4) | Ab Zeichen 2, vier Zeichen |
A$+B$ | Aneinanderhängen |
CHR$(65) | Zeichencode zu Zeichen |
ASC("A") | Zeichen zu Zeichencode |
STR$(5) | Zahl zu Text |
VAL("12") | Text zu Zahl |
Vergleichen und Verknuepfen
= <> | gleich, ungleich |
< > <= >= | kleiner, grösser |
AND OR NOT | Bedingungen verknüpfen |
-1 / 0 | wahr / falsch |
Speicher
POKE 53280,2 | Rahmen rot |
POKE 53281,0 | Hintergrund schwarz |
PEEK(53281) | Wert auslesen |
POKE 646,1 | Schriftfarbe (hier ohne Wirkung) |
FRE(0) | Freier Speicher |
TI | Ticks seit Start, 60 je Sekunde |
TI$ | Zeit als HHMMSS |
Farbcodes
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 Schwarz, 1 Weiss, 2 Rot, 3 Cyan, 4 Violett, 5 Grün, 6 Blau, 7 Gelb, 8 Orange, 9 Braun, 10 Hellrot, 11 Dunkelgrau, 12 Grau, 13 Hellgrün, 14 Hellblau, 15 Hellgrau. Ausführlich auf der Seite C64-Farbcodes.
Fehlermeldungen
Haeufige Meldungen
?SYNTAX ERROR | Zeile nicht verstanden |
?TYPE MISMATCH | Text und Zahl vermischt |
?DIVISION BY ZERO | Durch null geteilt |
?ILLEGAL QUANTITY | Wert ausserhalb des Bereichs |
Ablauf-Meldungen
?UNDEF’D STATEMENT | Sprungziel fehlt |
?NEXT WITHOUT FOR | NEXT ohne offene Schleife |
?RETURN WITHOUT GOSUB | Meist fehlt ein END |
?OUT OF DATA | Keine DATA-Werte mehr |
?BAD SUBSCRIPT | Index ausserhalb des Feldes |
Jede Meldung mit Ursache und Lösung: BASIC-Fehlermeldungen. Unbekannte Fachbegriffe stehen im Glossar.