ABS
Numerische FunktionGibt den absoluten Betrag (den positiven Wert) einer Zahl zurück.
10 PRINT ABS(-5.5) : REM Gibt 5.5 aus
**** BASIC-BEFEHLE LEXIKON ****
Jeder Befehl, jede Funktion und jeder Operator von Commodore BASIC V2 an einem Ort: mit Kategorie, Erklaerung und Codebeispiel. Tippe einen Namen in die Suche oder filtere nach Kategorie.
Dieses Lexikon dokumentiert den vollstaendigen Original-Befehlssatz des C64. Lernkurs und freier Editor unterstuetzen aktuell einen Kernteil davon, weitere Befehle folgen mit der Zeit.
Gibt den absoluten Betrag (den positiven Wert) einer Zahl zurück.
10 PRINT ABS(-5.5) : REM Gibt 5.5 aus
Verknüpft zwei Bedingungen logisch mit UND oder führt eine bitweise UND-Operation durch.
10 IF A=1 AND B=2 THEN PRINT "JA"
Gibt den Commodore-ASCII/PETSCII-Wert des ersten Zeichens einer Zeichenkette zurück.
10 PRINT ASC("A") : REM Gibt 65 aus
Berechnet den Arcustangens (mathematische Umkehrfunktion des Tangens) im Bogenmaß.
10 PRINT ATN(1) : REM Gibt ca. 0.785398163 aus
Wandelt einen PETSCII-Zahlencode in das entsprechende Zeichen um.
10 PRINT CHR$(65) : REM Gibt ein 'A' aus
Schließt einen zuvor mit OPEN geöffneten Datenkanal/Datei.
10 CLOSE 1
Löscht alle Variablen, Arrays und Funktionsdefinitionen aus dem Speicher; setzt den Stack zurück.
10 CLR
Leitet die Standard-Ausgabe (z.B. von PRINT oder LIST) vom Bildschirm auf ein geöffnetes Peripheriegerät (z.B. Drucker oder Diskette) um.
10 OPEN 4,4:CMD 4:LIST : REM Druckt das Listing aus
Setzt die Programmausführung nach einer Unterbrechung durch STOP, END oder die RUN/STOP-Taste fort.
CONT (Direktmodus)
Berechnet den Kosinus eines Winkels, der im Bogenmaß angegeben ist.
10 PRINT COS(0) : REM Gibt 1 aus
Speichert Datenwerte innerhalb des Programmcodes, die mit READ eingelesen werden können.
10 DATA 10, 20, "TEXT"
Definiert eine benutzerdefinierte mathematische Funktion mit einer Variablen.
10 DEF FNM(X) = X * 2 : PRINT FNM(5)
Dimensioniert ein Array (Feld) und legt dessen maximale Größe fest.
10 DIM A$(10, 10) : REM Erstellt eine 11x11 Matrix
Beendet die Programmausführung ordnungsgemäß.
100 END
Berechnet die Exponentialfunktion zur Basis e (Eulersche Zahl hoch X).
10 PRINT EXP(1) : REM Gibt 2.71828183 aus
Ruft eine zuvor mit DEF FN definierte Funktion auf.
20 PRINT FNX(5)
Leitet eine Zählschleife ein, die bis zum Erreichen eines Werts wiederholt wird.
10 FOR I = 1 TO 10 : NEXT I
Gibt den freien Arbeitsspeicherplatz in Bytes zurück (erfordert ein Dummy-Argument).
10 PRINT FRE(0)
Liest ein einzelnes Zeichen direkt von der Tastatur, ohne auf die RETURN-Taste zu warten.
10 GET A$ : IF A$="" THEN 10
Liest ein einzelnes Byte aus einer geöffneten Datei oder einem Datenkanal.
10 GET#1, A$
Teil des GOTO-Befehls (kann in BASIC V2 auch getrennt von TO geschrieben werden).
10 GO TO 100
Springt in ein Unterprogramm (Subroutine) ab einer bestimmten Zeilennummer.
10 GOSUB 500
Führt einen unbedingten Sprung zu der angegebenen Zeilennummer aus.
10 GOTO 10
Leitet eine Bedingungsprüfung ein (Wenn-Dann-Struktur).
10 IF X > 5 THEN GOTO 100
Erwartet eine Eingabe über die Tastatur und speichert sie in einer Variablen (erfordert RETURN).
10 INPUT "NAME"; N$
Liest Daten (Variablenwerte) aus einer geöffneten Datei oder einem Datenkanal.
10 INPUT#1, A$, B
Rundet eine Zahl auf die nächstkleinere ganze Zahl ab.
10 PRINT INT(3.9) : REM Gibt 3 aus
Schneidet eine anzugebende Anzahl von Zeichen von links aus einem String aus.
10 PRINT LEFT$("HELLO", 3) : REM Gibt 'HEL' aus
Gibt die Anzahl der Zeichen (Länge) einer Zeichenkette zurück.
10 PRINT LEN("C64") : REM Gibt 3 aus
Weist einer Variablen einen Wert zu (optional, kann weggelassen werden).
10 LET A = 5
Zeigt den im Speicher befindlichen Programmcode ganz oder teilweise auf dem Bildschirm an.
LIST 10-100
Lädt ein Programm von Datasette oder Diskette in den Arbeitsspeicher.
LOAD "*",8,1
Berechnet den natürlichen Logarithmus (Basis e) einer positiven Zahl.
10 PRINT LOG(10) : REM Gibt ca. 2.30258509 aus
Extrahiert einen Teilstring aus einer Zeichenkette ab einer Startposition mit bestimmter Länge.
10 PRINT MID$("COMMODORE", 4, 3) : REM Gibt 'MOD' aus
Löscht das aktuelle BASIC-Programm und alle Variablen komplett aus dem Arbeitsspeicher.
NEW
Schließt eine FOR-Zählschleife ab und erhöht/verringert den Zähler.
20 NEXT I
Invertiert eine logische Bedingung oder führt eine bitweise NOT-Operation durch.
10 IF NOT A THEN PRINT "A IST NULL"
Ermöglicht eine Mehrfachverzweigung (in Kombination mit GOTO oder GOSUB) anhand eines Index.
10 ON X GOTO 100, 200, 300
Öffnet eine logische Datei / einen Kommunikationskanal zu einem Gerät (Diskette, Drucker etc.).
10 OPEN 1,8,15
Verknüpft zwei Bedingungen logisch mit ODER oder führt ein bitweises ODER aus.
10 IF A=1 OR B=1 THEN PRINT "OK"
Liest den Inhalt (Wert 0-255) einer bestimmten RAM- oder ROM-Speicheradresse aus.
10 PRINT PEEK(53280) : REM Liest Rahmenfarbe
Schreibt einen Wert (0-255) in eine bestimmte Speicheradresse.
10 POKE 53280, 0 : REM Färbt Rahmen schwarz
Gibt die aktuelle Spaltenposition des Textcursors auf dem Bildschirm aus (Argument ist ein Dummy).
10 PRINT POS(0)
Gibt Text, Variablen oder Berechnungsergebnisse auf dem Bildschirm aus (Abkürzung: ?).
10 PRINT "HALLO WELT"
Schreibt Daten in eine zuvor geöffnete logische Datei / Gerät.
10 PRINT#1, "DATENSATZ"
Liest Werte aus den programminternen DATA-Zeilen in Variablen ein.
10 READ A, B$
Leitet einen Kommentar (Remarks) ein. Der nachfolgende Text der Zeile wird vom Interpreter ignoriert.
10 REM DIES IST EIN KOMMENTAR
Setzt den internen DATA-Lesezeiger wieder auf das erste DATA-Element im Programm zurück.
10 RESTORE
Beendet ein Unterprogramm und springt zum Befehl hinter dem aufrufenden GOSUB zurück.
510 RETURN
Schneidet eine anzugebende Anzahl von Zeichen von rechts aus einem String aus.
10 PRINT RIGHT$("WELCOME", 4) : REM Gibt 'COME' aus
Generiert eine Fließkomma-Zufallszahl zwischen 0 und weniger als 1.
10 PRINT INT(RND(1)*6)+1 : REM Würfel (1-6)
Startet die Ausführung des aktuellen BASIC-Programms von der ersten Zeile an (oder ab angegebener Zeile).
RUN 10
Speichert das im RAM befindliche BASIC-Programm auf ein externes Speichermedium.
SAVE "MEINPROG",8
Gibt das Vorzeichen einer Zahl zurück (-1 für negativ, 0 für Null, 1 für positiv).
10 PRINT SGN(-15) : REM Gibt -1 aus
Berechnet den Sinus eines Winkels im Bogenmaß.
10 PRINT SIN(1)
Fügt innerhalb eines PRINT-Befehls eine angegebene Anzahl an Leerzeichen ein.
10 PRINT "A"; SPC(5); "B"
Berechnet die Quadratwurzel einer positiven Zahl.
10 PRINT SQR(9) : REM Gibt 3 aus
Gibt den aktuellen Status der letzten I/O-Operation zurück (auch als ST abrufbar).
10 PRINT ST
Gibt die Schrittweite für die Erhöhung/Verringerung des Zählers in einer FOR-Schleife an.
10 FOR I = 10 TO 0 STEP -2 : NEXT I
Unterbricht den Programmablauf und gibt eine Meldung mit der Zeilennummer aus.
10 STOP
Konvertiert einen numerischen Wert in eine lesbare Zeichenkette (String).
10 A$ = STR$(123)
Springt zu einer Maschinenprogramm-Routine an der angegebenen Speicheradresse.
10 SYS 64738 : REM Führt C64-Reset aus
Setzt den Cursor innerhalb eines PRINT-Befehls an eine absolute Spaltenposition.
10 PRINT TAB(10); "TEXT"
Berechnet den Tangens eines Winkels im Bogenmaß.
10 PRINT TAN(0.5)
Definiert die Aktion, die bei einer zutreffenden IF-Bedingung ausgeführt wird.
10 IF A=1 THEN PRINT "JA"
Gibt die seit dem Einschalten vergangenen Ticks (1/60 Sekunde) zurück (auch als TI abrufbar).
10 PRINT TI
Gibt die aktuelle Systemzeit im Format HHMMSS als String aus oder setzt diese (auch als TI$).
10 TI$="120000" : PRINT TI$
Gibt den Endwert einer Zählschleife im FOR-Befehl an.
10 FOR I = 1 TO 5 : NEXT I
Ruft ein Maschinenprogramm auf, das über die Vektoren im Speicher definiert ist, und übergibt einen Wert.
10 X = USR(5)
Wandelt eine Zeichenkette, die Zahlen enthält, in einen echten numerischen Wert um.
10 V = VAL("45.6")
Vergleicht ein Programm auf einem Datenträger mit dem aktuell geladenen Programm im RAM auf Fehler.
VERIFY "MEINPROG",8
Hält das Programm an, bis an einer Speicheradresse bestimmte Bits gesetzt/gelöscht sind (Bit-Maskierung).
10 WAIT 198, 1 : REM Wartet auf Tastendruckpuffer
Kein Befehl gefunden. Versuch einen anderen Suchbegriff oder waehle "Alle".