Party-Page

Home

ImpressumEinsteiger

Basic

Alle Basic Befehle und Kommandos. Alphabetisch sortiert.

BEFEHL - Abkürzung - Format(Syntax)

ABS - aB - ABS(<Ausdruck>)

Gibt den Absolutwert eine Zahl an. Dies ist der Wert ohne Vorzeichen.

Beispiel:

10 x = ABS(Y)

20 PRINTABS (X*J)

30 IF X = ABS (X) THEN PRINT "POSITIV"
 
 

AND - aN -<Ausdruck> AND <Ausdruck>

AND wird in Boole'schen Operationen zur Prüfung einzelner Bits und zur Wahrheitsprüfung beider Operationen benutzt.

Das Ergebnis einer AND-Operation ist nur dann 1 wenn beide beteiligten Zahlen 1 sind. Wenn eine oder beide beteiligten Zahlen 0 sind, ist das Ergebnis auch 0.

Der C64 führt AND Operationen bei Zahlen von -32768 bis +32768 durch. Brüche dürfen nicht benutzt werden.
 
 

ASC - aS - ASC(<String>)

Durch ASC wird eine Zahl von 0 bis 255 gegeben, die dem Commodore ASCII-Wert des ersten Zeichens der Zeichenkette entspricht.
 
 

ATN - aT - ATN(<Zahl>)

Diese Mathematische Funktion gibt den Arcustangens der Zahl wieder. Das Ergebnis ist der Winkel (im Bogenmas), dessen Tangens die gegebene Zahl ist.
 
 

CHR$ - cH - CHR$(<Zahl>)

Über diese Funktion wird ein Commodore ASCII-Code in sein entsprechendes Zeichen umgewandelt. Die Zahl muß einen Wert zwischen 0 und 255 haben, da sonst die Fehlermeldung ?Illegal Quantity angezeigt wird.
 
 

CLOSE - clO - CLOSE<logische Filenummer>

Über diese Funktion kann eine beliebige Datendatei oder ein Gerätekanal geschlossen werden. Die Dateinummer ist dabei die gleiche wie beim öffnen der entsprechenden Datei oder des Gerätes (Siehe Anweisung OPEN).

Beim Arbeiten mit externen Speichern wie Kassetten und Disketten, wird durch die CLOSE Anweisung jeder Inhalt des Puffers durch das Gerät gespeichert. Wird dies nicht ausgeführt, so ist die Datei nur unvollständig auf der Kassette, bzw. unlesbar auf der Diskette. Bei anderen Geräten ist die Close-Anweisung nicht unbedingt erforderlich, sie setzt jedoch Speicherkapazität für weitere Dateien frei.
 
 

CLR - cL - CLR

Über diese Anweisung kann RAM Speicher verfügbar gemacht werden, der benutzt wurde, aber nicht mehr benötigt wird. Die BASIC Programme bleiben unberührt, Sämtliche Variablen, Felder, GOSUB Adressen, FOR...NEXT-Schleifen, vom Benutzer definierte Funktionen und Dateien, werden jedoch aus dem Speicher gelöscht. Der Speicherplatz steht dann für neue Variablen etc. zur verfügung.

Dateien auf Disketten und Kassetten werden nicht richtig durch die CLR Anweisung geschlossen. Die Dateieninformation, einschließlich aller nicht vollständigen Puffer, sind für den Computer verloren. Das Disketten-Laufwerk geht immer noch davon aus, daß die Datei offen ist. Wegen der Einzelheiten siehe Anweisung CLOSE-
 
 

CMD - cM - CMD<logische Filenummer> [, String]

Über diese Anweisung wird die Datenausgabe vom Bildschirm auf das angegebene File umgeschaltet. Dieses File kann auf Diskette, der Kassette, dem Drucker, oder einer Ein-Ausgabevorrichtung, wie zB einem Modem, zugeordnet sein. Die Logische Filenummer muß zuerst mit der OPEN Anweisung festgelegt werden. Der String wird, wenn er festgelegt ist, zum File geschickt.

Wenn dieser Befehl wirksam ist, werden die PRINT-Anweisungen und LIST-Befehle nicht auf dem Bildschirm angezeigt, sondern übertragen den Text im gleichen Format auf das logische File.

Damit die Ausgabe wieder auf dem Bildschirm angezeigt wird, muß der Befehl PRINT# eine Leerzeile vom CMD-Gerät vor dem Schließen (CLOSE) schicken, damit dieses nicht mehr auf eine Datenübertragung wartet (dies nennt man "Un-listening" des Gerätes)

Durch Systemfehlermeldungen wird die Ausgabe wieder zurück auf den Bildschirm geholt. Hiermit erfolgt kein Un-listening der Geräte, so daß danach eine Leerzeile übertragen werden muß.
 
 

CONT - cO - CONT

Über diesen Befehl wird ein Programm wieder Gestartet, das durch die Anweisung STOP, END, oder durch drücken der "RUN-STOP" Taste abgebrochen wurde. Das Programm wird genau an der Stelle fortgesetzt, an der es beendet wurde.
 
 

COS - cos - COS(<Zahl>)

Über diese mathematische Funktion wird der Kosinus einer Zahl berechnet, wobei diese Zahl als das Bogenmaß eines Winkels aufgefasst wird.
 
 

DATA - dA - DATA<Konstantenliste>

Hinter der DATA Anweisung werden Informationen innerhalb eines Programmes gespeichert. Die Informationen können über die READ-Anweisung innerhalb eines Programmes gelesen werden. Alle DATA Anweisungen innerhalb eines Programmes werden als Kontinuierliche Liste behandelt. Die Daten werden von links nach rechts, von der Zeile mit der niedrigsten, zur Zeile mit der höchsten Zeilennummer gelesen. Die einzelnen Daten innerhalb einer Zeile werden durch Komma getrennt. Soll innerhalb einer Datei ein Komma, Doppelpunkt, Leerstellen, Buchstaben in Großschrift, graphische Zeichen oder Cursor Steuerzeichen enthalten sein, muß der Datensatz in Anführungszeichen in der DATA Zeile stehen.
 
 

DEF FN - dE - DEF FN <Name>(<Variable>)=<Ausdruck>

Mit dieser Anweisung wird vom Benutzer eine Funktion definiert, die später im Programm benutzt werden kann. Diese Funktion kann aus einer Beliebigen mathematischen Gleichung bestehen. Selbstdefinierte Funktionen können Speicherplatz bei Programmen einsparen, bei denen eine längere Gleichung an mehreren Stellen auftritt.

Die Gleichung muß nur einmal in der Definitionsanweisung bestimmt werden und wird danach als abgekürzter Funktionsname aufgerufen.

Der Funktionsname setzt sich aus den Buchstaben FN gefolgt von einem beliebigen Variablennamen (bestehend aus einem oder zwei Buchstaben - der zweite kann auch eine Zahl sein) zusammen.

Die Funktion wird später mit hilfe des Funktionsnamens aufgerufen, wobei eine Variable in Klammern steht. Der Funktionsname wird wie jede andere Variable behandelt, und sein Wert wird automatisch berechnet.

Beispiel:

10 DEF FN A (X) = X+7

20 DEF FN AA (X) = Y*Z

30 DEF FN A9 (Q) = Q+I

40 PRINT FN A(9)

50 R=FN AA (9)

60 G=G+FN A9 (Z)

In Zeile 50 in obigem Beispiel beeinflußt die Zahl in Klammern nicht das Ergebnis, da die Funktionsdefinition in Zeile 20 nicht die Variable in Klammern benutzt. Das Ergebnis Y*Z ist unabhängig vom Wert X, in den beiden anderen Funktionen wird das Ergebnis durch den Wert in Klammern beeinflußt.
 
 

DIM - dI - DIM<Variable>(<Index>)[,<Variable>(<Index>)...]

Über diese Anweisung wird ein Feld oder eine Matrix von Variablen bestimmt. Auf diese Weise können Sie den Variablenname mit einem Index benutzen. Der Index weist auf das Benutzte Element. Der niedrigste Index eines Feldes ist Null, und die höchste Zahl ist die Zahl, die in der DIM-Anweisung gegeben wird (max 32767)

Die DIM-Anweisung muß einmal (und darf nur einmal) für jedes Feld ausgeführt werden. Bei einer erneuten Ausführung dieser Zeile wird die Fehlermeldung REDIM'D ARRAY angezeigt. Aus diesem Grund, führen die meisten Programme anne DIM Operationen am Anfang aus.

Ein Feld kann beliebige Dimensionen und 255 verschiedene Indizes enthalten. Dies ist lediglich durch die Kapazität des RAM-Speichers begrenzt, die für die Variablen zur Verfügung steht. Das Feld kann aus normalen numerischen Variablen, aus Zeichenketten, oder ganzen Zahlen bestehen. Handelt es sich bei den Variablen nicht um normale Zahlen, so benutzen sie nach dem Variablennamen das Zeichen $ oder %, um eine String- oder Ganzzahlvariable anzugeben.

Wurde für ein Feld, auf das im Programm Bezug genommen wurde, keine DIM Anweisung gegeben, so werden automatisch 11 für jede Dimension reserviert.
 
 

END - eN - END

Durch die END Anweisung wird die Programmausführung beendet, und die Meldung READY. angezeigt. Ein Programm kann beliebig viele END Anweisungen enthalten, obwohl es nicht erforderlich ist, überhaupt eine END Anweisung einzugeben.
 
 

EXP - eX - EXP(<Zahl>)

Mit dieser mathematischen Funktion wird die Konstante e (2.71828183) in die Potenz der angegebenen Zahl erhoben. Durch einen Wert der größer ist als 88.0296919 kommt es zu der Fehlermeldung ?OVERFLOW.
 
 

FN - fn - FN<Name>(<Zahl>)

Diese Funktion verweist auf die zuvor mit der DEF-Anweisung definierte Funktion. Die Zahl wird eingesetzt, und dann der Funktionswert berechnet. Das Ergebnis ist ein Numerischer Wert.
 
 

FOR...TO...[STEP...] - fO...to...[stE...] - FOR<Variable>=<Start>TO<Grenze>[STEP<Schrittweise>]

Dies ist eine Variable mit der Sie eine Variable als Zähler benutzen können. Sie müssen bestimmte Parameter angeben. Gleitpunkt-Variablen, Startwert dieser Variablen, Endwert und bei Bedarf Schrittweite. Wird keine Schrittweite eingegeben, wird automatisch die Schrittweite 1 gewählt. Die Schrittweite kann eine beliebige Gleitpunktzahl sein.
 
 

FRE - fR - FRE(<Variable>)

Über diese Funktion erfahren Sie, wieviel RAM-Speicher noch zur Verfügung steht.

Die Zahl in Klammern kann einen beliebigen Wert haben, und wird zur Berechnung nicht benutzt.
 
 

GET - gE - GET<Variablenliste>

Über diese Anweisung wird jede vom Benutzer gedrückte Taste gelesen. Bei der Eingabe über die Tastatur werden die Zeichen im Tastaturpuffer des C64 gespeichert. Der Puffer hat eine Kapazität von 10 Zeichen, so daß der Anschlag des elften Zeichens und aller weiteren Tasten nicht berücksichtigt wird.

Durch lesen Des Zeichens mit der GET Anweisung wird das Zeichen im tastaturpuffer gelöscht, so daß Platz für weitere Zeichen geschaffen wird.

Mit der GET Anweisung können sowohl Numerische als auch String Variablen gelesen werden. Wird auf eine Numerische Variable gewartet, und eine String Variable eingegeben, führt das zu einer SYNTAX ERROR Fehlermeldung. Daher sollte man stets String Variablen erwarten, und dann ggf. in Numerische Variablen umwandeln.
 
 

GET# - get# - GET#<logische Filenummer>,<Variablenname>

Mit dieser Anweisung werden die Zeichen einzeln von der angegebenen Datei oder dem angegebenen Gerät gelesen. Sie entspricht der GET Anweisung, nur das die Daten nicht von der Tastatur kommen. Wird kein Zeichen empfangen, so wird ein Leerstring ausgegeben (entspricht "" bei String, bzw. 0 bei Numerischen Variablen)

Zeichen die Daten in Dateien trennen sollen, wie zB Komma oder [RETURN] Tastencodes werden wie andere Zeichen eingelesen.
 
 

GOSUB - goS - GOSUB<Zeilennummer>

Dies ist eine spezielle Form der GOTO Anweisung. Der Unterschied besteht darin, daß bei GOSUB gespeichert wird, von welcher Stelle im Programm gesprungen wird. wird die RETURN Anweisung (nicht mit der RETURN Taste verwechseln) angetroffen, springt das Programm wieder an die Stelle der GOSUB-Sprunges zurück.

Dadurch kann ein Unterprogramm von mehreren Stellen des Programmes angesprungen werden, und jederzeit wieder an die Stelle des Programmes zurückgesprungen werden.
 
 

GOTO - gO - GOTO<Zeilennummer> / GO TO<Zeilennummer>

Mit dieser Anweisung kann man Basic Zeilen anspringen, die nicht in der Numerischen Reihenfolge nacheinander kommen. Damit kann man zB bei einer Menüabfrage nach der Wahl der Funktion zu den entsprechenden Programmpunkten springen.
 
 

IF...THEN... - if...tH... -

IF<Ausdruck>THEN<Zeilennummer>

IF<Ausdruck>GOTO<Zeilennummer>

IF<Ausdruck>THEN<Anweisungen>

Mit dieser Funktion kann man ein Programm nach bestimmten Bedingungen Steuern.

Dem Wort IF folgt ein Ausdruck, der Variablen, Zeichenketten, Zahlen, Vergleiche, und logische Operationen enthalten kann. Das Wort THEN erscheint in der gleichen Zeile und wird entweder von einer Zeilennummer, oder einer weiteren BASIC Anweisung gefolgt. Ist der Ausdruck falsch, wird alles was nach dem Wort THEN in der Zeile folgt überlesen, und das Programm in der nächsten Zeile Fortgesetzt. Bei richtigem Ausdruck, wird die Anweisung nach THEN ausgeführt.
 
 

INPUT - input - INPUT["<Kommentar>";]<Variablenliste>

Mit dieser Anweisung können Dateneingaben vom Benutzer erwartet werden. Das Programm wird bei der INPUT Anweisung unterbrochen, und es erscheint ein Fragezeichen auf dem Bildschirm. Wenn ein Kommentar eingegeben wurde, wird dieser vor dem Fragezeichen ausgegeben. Mit dem Cursor wird der Benutzer zur Eingabe aufgefordert. Die eingegebenen Daten werden in der Variablenliste abgelegt, und können vom Programm verarbeitet werden.
 
 

INPUT# - iN - INPUT#<logische Filenummer>, <Variablenliste>

Mit dieser Funktion kann man Daten aus einer Disketten, oder Kassetten Datei lesen. Die Daten haben die Form von Variablen mit einer Länge von maximal 80 Zeichen. Dadurch unterscheidet sich diese Funkton von der GET# Funktion bei der nur ein Zeichen gelesen wird.

Der Befehl INPUT# geht davon aus, daß eine Variable beendet ist, wenn ein RETURN-Code, ein Komma, Semikolon, oder ein Doppelpunkt gelesen wird. Diese Zeichen können beim anlegen der Datei ggf. in Anführungszeichen eingeschlossen werden.
 
 

INT - int - INT(<numerisch>)

Gibt den ganzzahligen Wert eines Ausdrucks wieder. Ist der Ausdruck positiv wird der nachkommateil abgeschnitten, ist der Ausdruck negativ, so wird der nächstniedrige ganze Zahl wiedergegeben.
 
 

LEFT$ - leF - LEFT$(<Zeichenkette>,<Ganze Zahl>)

Gibt die Zeichenkette wieder, die die Zeichen von der äußersten linken Position, bis zur angegebenen Zahl umfaßt. Die Argumentenwert muß ganzzahlig und zwischen 0 und 255 liegen. Ist die ganze Zahl größer als die länge der Zeichenkette, wird die ganze Zeichenkette ausgegeben. Hat die Zahl den Wert 0, so wird ein Leerstring ausgegeben.
 
 

LEN - len - LEN(<Zeichenkette>)

Gibt den Zahlenwert der Anzahl der Zeichen in einer Zeichenkette oder einem String wieder. Nicht angezeigte Zeichen, oder Leerzeichen werden mitgezählt.
 
 

LET - lE - [LET]<Variable>=<Ausdruck>

LET weist einer Variablen den hinter dem Gleichheitszeichen angegebenen Ausdruck zu.

Den LET Befehl benötigt man in der Praxis nicht, da Wertzuweisungen auch ohne die LET Anweisung funktionieren.

LET A=10

A=10

In beiden Fällen wird der Variablen A der Wert 10 zugewiesen. Daher wird die LET Anweisung meist weggelassen, um Speicherplatz zu sparen.
 
 

LIST - lI - LIST [Zeilennummer-][-Zeilennummer]

LIST gibt das ganze oder Teile eines momentan im Speicher befindlichen Programmes aus. In der Regel wird die Ausgabe auf dem Bildschirm stattfinden, kann aber mit der CMD Anweisung auf andere Geräte umgeleitet werden.

Sollen nur Teile des Programmes gelistet werden, so muß der Teil mit den Zeilennummern eingegrenzt werden. Man kann ab einer bestimmten Zeilennummer bis zum Ende Listen (zB. LIST 100-), einen Bereich im Programm Listen (zB. LIST 100-200) oder von Anfang des Programmes bis zu einer bestimmten Stelle Listen (zB. List -200)
 
 

LOAD - lO - LOAD["<Programmname>"][,<Gerätenummer>][,<Sekundärandresse>]

LOAD lädt die mit ihrem Namen bezeichnete Datei (in den meisten Fällen ein Programm) von Kassette oder Diskette. Um von Kassette zu laden gibt man die Gerätenummer 1 an, oder lässt die Gerätenummer ganz weg. Der C64 springt dann automatisch zu Adresse 1. Beim Laden vom Diskettenlaufwerk gibt man in der Regel Adresse 8 ein. Bei mehreren Floppys kann es auch ein Wert zwischen 9 und 15 sein. Die Sekundäradresse ist entweder 0 (Bei Basic Programmen, oder Maschinenprogrammen die wie Basic-Programme gestartet werden können) oder 1 bei Dateien oder Programmen die andere Daten enthalten.

Rein Technisch ist es fast immer Möglich die Sekundäradresse 1 einzugeben, Da in diesem Fall immer vom Computer eine Prüfung vorgenommen wird, und das Programm entsprechend geladen wird. Bei Adresse 0 (oder wenn keine Sekundäradresse eingegeben wird) wird das Programm immer als Basicprogramm angenommen. Lediglich bei Programmen bei denen durch einen Speicherfehler der Hinweis auf ein Basic-Programm verlorengegangen ist, kann durch eingeben der Sekundäradresse 0 der Computer zum korrekten Laden gebracht werden.
 
 

LOG - log - LOG(<numerisch>)

Gibt den natürlichen Logarithmus (Logarithmus der Basis e) des Argumentes wieder. Ist das Argument Null oder negativ wird die Fehlermeldung ILLEGAL QUANTITY Ausgegeben.
 
 

MID$ - mI - MID$(<String>,<numerische Zahl A>[,numerische Zahl B>])

MID$ schneidet aus dem angegebenen String Ausdruck einen Teil-String aus, wobei die A die Position des ersten Zeichens, und B die Anzahl der zu entnehmenden Zeichen angibt.
 
 

NEW - new - NEW

Durch den Befehl NEW wird ein im Speicher befindliches Programm und sämtliche Variablen gelöscht. Damit kann man ein Programm löschen, bevor man ein neues Programm einzugeben beginnt. NEW kann auch innerhalb eine Programmes benutzt werden, sollte aber erst in ein Fertig getestetes und gespeichertes Programm eingebaut werden, da sonst die Fehlersuche sehr kompliziert werden kann.
 
 

NEXT - nE - NEXT[<Variable>][,<Variable>]...

Die NEXT Anweisung wird immer zusammen mit der FOR Anweisung benutzt, um das Ende der Schleife anzugeben. Der Zähler ist der Variablenname, vom Schleifenindex, der mit FOR zum Beginn der Schleife benutzt wird. Durch eine einzelne NEXT Anweisung können mehrere verschachtelte Schleifen abgeschlossen werden, wenn danach die Variablennamen für jede FOR Zähler folgen. Dabei muß jeder Variablenname genannt werden, wobei der der Innersten Schleife zuerst, und der der äußersten Schleife zuletzt genannt werden muß. In diesem Fall müssen die Variablennamen durch Komma getrennt werden. Es können maximal 9 Schleifen verschachtelt werden.

Bei der NEXT Anweisung wird der Zahlenwert der Schleife um den entsprechenden STEP Wert geändert, und dann mit dem END Wert verglichen. Ist der END Wert nicht erreicht, wird die Schleife erneut durchlaufen. Die Schleife wird beendet, wenn der Variablenwert größer als der END Wert ist.
 
 

NOT - nO - NOT<Ausdruck>

NOT Ermittelt das logische NICHT eines Ausdrucks. Logisch Falsche Ausdrücke werden daher Wahr, und umgekehrt. Numerische Variablen werden zuerst in eine 16 Bit Zahl umgerechnet, und dann jedes einzelne Bit Umgedreht. (falls es 0 war wird es 1 und umgekehrt)
 
 

ON - on - ON<Variable>GOTO/GOSUB<Zeilennummer>[,<Zeilennummer>]...

ON erlaubt - ähnlich wie IF die bedingte Verzweigung in eine der hinter GOTO bzw. GOSUB angegebenen Zeilennummer. Im Gegensatz zu IF hat man aber die Möglichkeit mehrere Sprungziele in einer Anweisung zusammenzufassen. Verzweigt wird jeweils in Abhängigkeit vom Verteilerwert. Eine 1 hat zur Folge daß in die erste Zeilennummer hinter GOTO bzw. GOSUB gesprungen wird, bei einer 2 wird in die zweite Zeilennummer verzweigt usw... Bei ungültigen Werten wird das Programm mit der hinter ON folgenden Anweisung fortgesetzt.
 
 

OPEN - oP - OPEN<logische Filenummer>,[<Gerätenummer>][,<Sekundäradresse>] [,"<Dateiname>[<Type>][,<Modus>]"]

OPEN öffnet eine logische Datei zum Lesen und/oder Schreiben von Daten von einem Peripheriegerät. Dazu muß die Adresse des Gerätes (zB 8 für Floppy) sowie im Kommandotext der Name der Datei angegeben werden.

Der Kommandotext kann zusätzlich noch andere Parameter enthalten, etwa den Programmtyp, bei einer Floppy-Datei. Die logische Filenummer, und die Sekundäradresse (beide dürfen Werte zwischen 0 und 255 annehmen) dienen der Unterscheidung der einzelnen geöffneten Dateien (bis zu 10 Dateien dürfen gleichzeitig geöffnet sein)

Bei allen späteren Zugriffen (durch INPUT#, PRINT# usw) muß jeweils die logische File Nummer zur Identifikation angegeben werden. Insbesondere bei Floppy-Dateien ist es sehr wichtig, daß die einzelnen Dateien auch verschiedene Sekundäradressen haben, da die Floppy diese zur Internen Verwaltung der Datenkanäle benötigt.

Am einfachsten ist es, wenn man für die logische File-Nummer und die Sekundäradresse jeweils die gleichen Werte nimmt. "OPEN2,8,2,"TEST,S,W" "zB. öffnet eine sequentielle Datei namen TEST zum Schreiben von Daten.
 
 

OR - or - <Operand> OR <Operand>

OR Verknüpft zwei Ausdrücke bitweise durch logisches ODER. Jeder Ausdruck wird dazu intern in eine 16 Bit Zahl Umgerechnet. OR eignet sich vor allem zum gezielten Setzen einzelner Bits, etwa der eines Registers.
 
 

PEEK - pE - PEEK(<numerisch>)

PEEK dient zum Auslesen des Inhaltes einer bestimmten Speicherstelle. Dazu muß die Adresse der Speicherstelle angegeben werden. Werte von 0 bis 65535 sind erlaubt. Peek bildet das Gegenstück zu POKE.
 
 

POKE - pO - POKE<Adresse>,<Wert>

POKE schreibt den angegebenen Wert (o bis 255) in die durch ihre Adresse (o bis 65535) bezeichnete Speicherstelle. Das gegenstück zu POKE bildet die Funktion PEEK. POKE und PEEK (in verbindung mit SYS) eignen sich sehr gut zur Kommunikation mit Maschienenprogrammen.
 
 

POS - pos - POS(<Hintergrundargument>)

POS übergibt die aktuelle Spaltenposition des Cursors am Bildschirm und kann daher bei der Programmierung von Bildschirmmasken sehr hilfreich sein. Das Hintergrundargument wird dabei nicht berücksichtigt.
 
 

PRINT - ? - PRINT["<Text>"][<Variable>]...

PRINT dient zur Ausgabe von Zahlen, Zeichen, und Zeichenketten jeglicher Art und ist neben INPUT der wohl am häufigsten benötigte Befehl. Mit hilfe spezieller Steuerzeichen, etwa CHR$(147) zum Löschen des Bildschirms, lässt sich über PRINT auch das Erscheinungsbild der Bildschirmausgaben verändern. Die Auszugebenden Ausdrücke müssen jeweils durch ein Komma oder Semikolon voneinander getrennt werden. Zum Beispiel löscht PRINTCHR$(147);"Hallo" zunächst den Bildschirm, und schreibt dann den Text HALLO in die oberste Bildschrimzeile.
 
 

PRINT# - pR - PRINT#<logische Filenummer>[<Variable>][<,/;><Variable>]

PRINT# hat dieselbe Funktion wie PRINT, nur das die Ausgabe nicht auf dem Bildschirm, sondern in eine durch Ihre Logische Filenummer bezeichnete Datei erfolgt. Der Aufbau des Auszugebenden Ausdruckes ist analog zu PRINT, allerdings haben die Steuerzeichen bei PRINT# keine unmittelbare Wirkung (mit Ausnahme von RETURN (CHR$(13)), das zur Trennung zweier Datensätze dient), werden aber trotzdem in Form Ihrer ASCII-Werte geschrieben.
 
 

READ - rE - READ<Variable>[,<Variable>]

READ leist in DATA-Anweisungen abgelegte, numerische oder alphanumerische Daten in eine oder mehrere Variablen ein. Nach jeder READ Anweisung wird der Zeiger auf die Daten automatisch um ein Element weitergesetzt. Nach erreichen des letzten im Programm vorhandenen DATA-Elementes erscheint ein OUT OF DATA ERROR. Mittels RESTORE lässt sich der DATA Zeiger auf das erste im Programm vorhandene DATA Element zurücksetzen.
 
 

REM - rem - REM[<Kommentar>]

REM dient zur Markierung von Kommentaren in einem Programm. Hinter REM dürfen beliebige Texte stehen. Der Rest der Programmzeile hinter REM wird vom Programm überlesen. BASIC Befehle die hinter REM stehen (auch wenn sie durch Doppelpunkt abgetrennt sind) werden daher nicht bearbeitet.
 
 

RESTORE - reS - RESTORE

RESTORE setzt den DATA Zeiger auf das erste im Programm vorkommende DATA Element. Eine nachfolgende READ-Anweisung liest dann dieses Element in eine Variable ein.

RESTORE wird insbesondere dann erforderlich, wenn in DATA-Zeilen Anweisungen abgelegte Daten während des Programmablaufes mehrfach gelesen werden sollen.
 
 

RETURN - reT - RETURN

RETURN bildet den Abschluß einer durch GOSUB aufgerufenen Unterprogrammes. Nach Return springt das Programm auf den Befehl hinter dem zuletzt abgearbeiteten GOSUB Anweisung.
 
 

RIGHT$ - rI - RIGHT$(<String>,<ganze Zahl>)

Right$ ergibt einen Teil String, der einen rechten Teil des angegebenen String-Ausdrucks enthält, wobei der Zahlenwert die Anzahl der Abzuschneidenden Zeichen angibt. "A$=RIGHT$("Beispiel",5)" weist A$ den Teil String "spiel" zu.
 
 

RND - rN - RND(<numerisch>)

RND erzeugt eine Zufallszahl im Bereich zwischen 0 und 1. Mit Hilfe einer einfachen Formel lassen sich daraus Zufallszahlen innerhalb eines beliebigen Bereiches erzeugen. UG+RND(1)*(OG-UG). UG steht für die untere OG für die obere Grenze des Bereiches. 1+RND(1)*9 ergibt beispielsweise eine Zufallszahl im Bereich zwischen 1 und 10.

Das Vorzeichen des Numerischen Ausdrucks hinter RND legt fest, welcher Startwert zur Berechnung der zufallszahlen genommen wird. Ein Positiver Wert hat zur Folge, daß ein intern im ROM des Rechners gespeicheter Wert als Basis genommen wird.

Der Wert Null sorgt dafür daß der Basiswert aus einem CIA Register geholt wird, wodurch sich wirklich "zufällige" Zahlen erzeugen lassen.

Bei negativem Wert schließlich wird in Abhängigkeit vom Wert des numerischen Ausdrucks selbst ein Basiswert generiert.
 
 

RUN - rU - RUN[<Zeilennummer>]

RUN startet ein im Speicher befindliches BASIC Programm. Ohne Angabe einer Zeilennummer hinter RUN wird das Programm von anfang an bearbeitet, andernfalls wird ab der angegebenen Zeilennummer begonnen.

Zuvor werden in jedem Fall sämtliche evtl. aus früheren Programmabläufen noch vorhandene Variableninhalte gelöscht.
 
 

SAVE - sA - SAVE["<Dateiname>"][,<Gerätenummer>][,<Adresse>]

SAVE speichert das momentan im Speicher befindliche Programm auf Kassette (Gerätenummer 1) oder Diskette (Gerätenummer 8 - 15). Die Sekundäradresse hat nur beim Speichern auf Kassette eine Bedeutung. Durch Angabe einer 2 oder 3 erreichen Sie, daß am Ende des Speichervorgangs zusätzlich eine Band-Ende Markierung geschrieben wird.
 
 

SGN - sG - SGN(<numerisch>)

SGN bestimmt das Vorzeichen des angegebenen numerischen Ausdrucks. Bei positiven Werten wird dabei eine 1, bei negativen Werten wird dabei eine -1 und bei einer Null eine Null übergeben.
 
 

SIN - sI - SIN(<numerisch>)

SIN berechnet den Sinus eines im Bogenmas im Bogenmaß angegebenen numerischen Ausdrucks. Die auch übliche Angabe in Grad lässt sich durch Multiplikation mit Pi/180 ins Bogenmas umrechnen.
 
 

SPC - sP - SPC(<numerisch>)

SPC in Verbindung mit PRINT verschiebt den Cursor um die angegebene Anzahl Spaltenpositionen (0 bis 255) nach rechts. SPC kann beim Aufbau von Bildschirmmasken sehr hilfreich sein.
 
 

SQR - sQ - SQR(<numerisch>)

SQR berechnet die sog. Quadratwurzel des angegebenen numerischen Ausdrucks, der größer oder gleich Null sein muß.
 
 

STATUS - st - STATUS

Status (oder ST) ist eine Reservierte Variable, die nach jeder Ein-/ Ausgabeoperation den aktuellen Status anzeigt.
 
 

STEP - stE - [STEP<Ausdruck>]

Mit dem STEP Schlüsselwort kann man bei Bedarf die Schrittweite innerhalb einer FOR-NEXT Schleife verändern. Ohne Step wird immer der Wert +1 angenommen, durch STEP kann dieser Wert größer oder kleiner, oder auch negativ (zum rückwärtszählen) werden.
 
 

STOP - sT - STOP

STOP unterbricht das laufende Programm und lässt den Computer in den Direktmodus zurückkehren.
 
 

STR$ - stR - STR$(<numerisch>)

STR$ wandelt eine Zahl in eine Zeichenkette um, beispielsweise um diese anschließend besser formatieren zu können. STR$ bildet das Gegenstück zu der Funktion VAL
 
 

SYS - sY - SYS<Adresse>

SYS ruft das ab der angegebenen Speicheradresse (0 bis 65535) beginnende Maschienenprogramm auf. Nach abarbeitung des Maschienenprogramms wird das BASIC Programm hinter der SYS Anweisung fortgesetzt. Ergänzend zu SYS gibt es die Funktion USR, mit der sich Maschienenprogramme in BASIC Programme eingliedern lassen.
 
 

TAB - tA - TAB(<numerisch>)

TAB in Verbindung mit PRINT setzt den Cursor au die angegebene Spaltenposition (0 bis 255). Dazu wird der Cursor von seine Momentanen Position aus um eine entsprechende Anzahl Schritte nach rechts verschoben. Als ergänzung zu TAB gibt es die Funktion SPC. Beide können beim Aufbau von Bildschirmmasken oder Tabellen hilfreich sein.
 
 

TAN - tan - TAN(<numerisch>)

TAN berechnet den Tangens eines im Bogenmas angegebenen numerischen Ausdrucks. Die übliche Angabe in Grad lässt sich durch Multiplikation mit Pi/180 ins Bogenmas umrechnen.
 
 

TI/TI$ - ti/ti$ - TI / TI$

TI und TI$ sind zwei reservierte Variablen, die zum Stellen bz. Lesen der internen Uhr des C64 dienen. Die Uhr ist allerdings rein software-mäßig realisiert, so daß sie in der Regel sehr ungenau ist.

Zum Stellen der Uhr muß TI$ ein sechs Zeichen langer String übergeben werden: TI$="HHMMSS" "HH" Steht für die Stunden, "MM" für die Minuten, "SS" für die Sekunden. "153020" beispielsweise stellt die Uhr auf 15 Uhr 30 Minuten und 20 Sekunden.

Zum Lesen der Uhr kann man TI und TI$ verwenden. TI$ enthält die aktuelle Uhrzeit in demselben Format, wie beim Stellen der Uhr, also "HHMMSS". TI dagegen enthält die Uhrzeit in 1/60 Sekunden und eignet sich daher zum Messen sehr kurzer Zeitabstände.
 
 

USR - uS - USR(<numerisch>)

USR erlaubt den Aufruf eines Maschienenprogramms als BASIC Funktion. Die Adresse des Maschienenprogramms muß dazu in den Speicherstellen 785 und 786 abgelegt werden. Anschließend kann USR wie jede andere BASIC-Funktion verwendet werden. Der Wert des hinter USR angegebenen numerischen Ausdrucks wird jeweils an das Maschienenprogramms übergeben, von diesem verarbeitet und schließlich ein Ergebniswert an BASIC zurückgegeben. Danach wird das BASIC-Programm fortgesetzt.
 
 

VAL - vA - VAL(<String>)

VAL wandelt eine in einer Zeichenkette (in Form einer Zeichenfolge) enthaltene Zahl in eine "numerische" Zahl um, um diese beispielsweise für Berechnungen heranziehen zu können. VAL bildet das Gegenstück zu der Funktion STR$.
 
 

VERIFY - vE - VERYFI["<Dateiname>"][,<Gerätenummer>]

Falls Sie nach eine SAVE Anweisung nicht ganz sicher sind, ob das Programm korrekt gespeichert wurde, können Sie das mit VERIFY überprüfen lassen. VERIFY vergleicht das momentan im Speicher befindliche Programm mit dem unter dem angegebenen Namen auf Kassette oder Diskette gespeicherten. Stimmen die beiden Programme nicht überein, so erscheint die Meldung VERIFY ERROR, ansonsten OK.
 
 

WAIT - wA - WAIT<Speicheradresse>,<numerischer Ausdruck>[<numerischer Ausdruck>]

WAIT verknüpft den Inhalt der Angegebenen Speicherzelle (0 bis 65535) mit dem dritten Parameter (falls vorhanden) durch ein logisches EXCLUSIV-ODER und anschließend mit dem zweiten Parameter durch ein logisches UND. Solange sich bei diesen Verknüpfungen der Wert Null ergibt, werden sie wiederholt, dh, die Programmausführung wird solange angehalten, bis sich der Inhalt der Speicherstelle verändert.
 
 

ImpressumBrainstorm-PrivatFotosEinsteiger

Home