C64-Befehle

Aus C64-Wiki
Wechseln zu: Navigation, Suche
(thumbnail)
Einschaltbild eines Commodore 64

Der Commodore 64 hat ein eingebautes BASIC V2 (Beginner's All-purpose Symbolic Instruction Code, Version 2), das sich auf das ebenfalls fest integrierte Betriebssystem, den sogenannten KERNAL stützt. Es stehen 38911 Bytes freier Arbeitsspeicher (Hauptspeicher oder kurz RAM) für ein BASIC-Programm und dessen Daten zur Verfügung. Bei dieser kommandoorientierten Benutzerschnittstelle sind somit alle C64-Befehle im weiteren Sinne BASIC-Befehle.

Der BASIC-Interpreter zeigt mit seinem Prompt "READY." und dem blinkenden Cursor die Bereitschaft an, dass er die Eingaben des Computernutzers entgegen nehmen kann. Wird ein BASIC-Befehl syntaktisch ordnungsgemäß verwendet, wird dieser ausgeführt, ansonsten wird eine BASIC-Fehlermeldung ausgegeben, stets gefolgt von obiger Bereitschaftsmeldung.

BASIC-Befehle können direkt (ohne Zeilennummer) eingegeben und ausgeführt werden (Direktmodus), wie z.B. RUN (um ein BASIC-Programm zu starten) oder mit einer Zeilennummer beginnen. Mit Zeilennummern versehene BASIC-Befehle werden "Programm" genannt. Der BASIC-Interpreter erkennt anhand der Zeilennummer, dass die eingegebenen Programmzeilen im RAM-Speicher abzulegen sind. Ein Programm kann dann mit dem Befehl LIST angezeigt werden.

Der BASIC-Interpreter arbeitet ein BASIC-Programm immer Zeile für Zeile von niedrigen Zeilennummern in Richtung zu höheren Zeilennummern ab. Die Abarbeitung endet sobald das Programm die letzte Zeile, jene mit der höchsten Zeilennummer, abgearbeitet hat, ein Abbruch wegen eines Programmierfehlers oder durch Drücken der Taste RUN/STOP  hervorgerufen wird oder wenn einer der Befehle END, STOP, LIST oder NEW ausgeführt wird.

Da BASIC-Programme direkt in den RAM-Speicher abgelegt sind (und damit nur vorläufig gespeichert sind), müssen diese noch mit dem Befehl SAVE bleibend auf einen Datenträger (Diskette, Datasette) abgespeichert werden. Der Befehl LOAD lädt ein entsprechendes Programme von Datenträgern zurück in den RAM-Speicher.

Beispiel eines BASIC-Programms:

10 PRINT "Hallo, ich bin der Commodore 64 - Wie heisst Du";:INPUT A$
20 PRINT "Hallo " A$
30 END


  • Eine Zeile darf maximal 80 Zeichen bei der Eingabe lang sein. Überzählige Zeichen werden ignoriert.
  • Sogenannte überlange Zeilen mit mehr als 80 Zeichen können erzeugt werden, wenn bei der Eingabe die BASIC-Befehle abgekürzt werden. Problematisch sind diese überlangen BASIC-Zeilen bei der späteren Bearbeitung. Beispiel:
1?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?
:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?
Erklärung: In diesem Beispiel wird der fünfbuchstabige PRINT-Befehl (abgekürzt mit dem Fragezeichen "?") über zwei Zeilen mit insgesamt 80 Zeichen eingegeben, der im Programmlisting dann fast sieben Ausgabezeilen beansprucht (rund 241 Zeichen). Solche Programmzeilen können nur mithilfe der genannten Abkürzungen bearbeitet werden.
  • Die Eingabe eines BASIC-Befehls oder einer Programmzeile muss immer mit der Taste RETURN  bestätigt werden.
  • Es können mehrere Befehle in einer Zeile stehen, wenn diese mit dem Doppelpunkt : abgetrennt werden.
  • Die Variablennamen dürfen nicht aus BASIC-Schlüsselwörtern (siehe unten) bestehen oder diese in irgendeiner Form enthalten.
  • Zahlenwerte und Zeichen können entsprechenden Variablen vom richtigen Typ zugeordnet werden.
  • Es werden nur Zeilennummern von 0 bis 63999 unterstützt.


[Bearbeiten] BASIC-Schlüsselwörter und Systemwerte

Die BASIC Version 2 enthält 76 BASIC-Schlüsselwörter, die gruppiert nach der Verwendung als

  • Operator für logische, arithmetische und Zeichenketten-Verknüpfungen,
  • Befehl,
  • Funktion in einem nummerischen Ausdruck,
  • Funktion in einem String-Ausdruck oder
  • Funktion bei der Ausgabe mit PRINT/PRINT#

sind.

Operatoren Befehle Numerische
Funktionen
String-
Funktionen
Ausgabe-
funktionen
AND CLOSE GOSUB NEXT RUN ABS PEEK CHR$ SPC(
OR CLR GO ON SAVE ASC POS LEFT$ TAB(
NOT CONT GOTO OPEN STOP ATN RND MID$
+ Addition CMD IF POKE STEP COS SGN RIGHT$
- Subtraktion, Negation DATA INPUT PRINT SYS EXP SIN STR$
* Multiplikation DEF INPUT# PRINT# THEN FN SQR
/ Division DIM LET READ TO FRE TAN
Exponentiation END LIST REM VERIFY INT USR
= gleich FOR LOAD RESTORE WAIT LEN VAL
< kleiner GET, GET# NEW RETURN LOG
> größer

sowie drei Systemvariablen und eine Konstante

ST (STATUS) TI (TIME) TI$ (TIME$) π (Zahl PI)
  • BASIC-Schlüsselwörter werden bei der Eingabe in Token umgewandelt und belegen so im Speicher jeweils nur 1 Byte.
  • Die meisten BASIC-Schlüsselwörter kann man bei der Eingabe abkürzen. Abgekürzte Schlüsselwörter werden i.d.R. gebildet, indem man die ersten (manchmal bis zu drei) Zeichen eintippt und das nächste Zeichen geshiftet eingibt.
    • Schlüsselwörter, die gekürzt drei Zeichen benötigen, sind CLOSE, GOSUB, LEFT$, RESTORE, RETURN, STEP und STR$.
    • Ausnahme: PRINT wird mit ? abgekürzt.
    • Nicht abkürzbar sind: INPUT (im Gegensatz zu INPUT#), COS, FN, TO, IF, INT, LEN, LOG, NEW, ON, OR, POS, REM, TAN.

[Bearbeiten] Literatur

von Joachim Hänsel
Westermann Verlag, ISBN 3-14-508810-6
ein ausführliches Nachschlagewerk

Artikel des Monats.gif Dieser Artikel wurde Artikel des Monats.

 Artikel des Jahres 2006.gif Dieser Artikel (Version vom 4. Januar 2007) wurde Artikel des Jahres 2006.

In anderen Sprachen