BASIC-SE 3.1

BASIC-SE 3.1 ist ein BASIC-Dialekt mit einer 16-Bit-Ganzzahl- und einer 32-BIT-Fließkommaarithmetik sowie String-Verarbeitung.

1. System-Start

Nach einem Kaltstart müssen Sie als erstes die Anzahl der sichtbaren Zeilen eingeben. Erst danach gelangen Sie in den Kommandomodus.

2. Kommandos

LIST Programm anzeigen
LOAD Laden von Kassette
NEW Programm löschen
RUN Programm starten
SAVE Programm auf Kassette speichern
SAVED Programm und nachfolgenden RAM-Bereich auf Kassette speichern


3. Zeilenformat, Eingabe einer Programmzeile

Eine Programmzeile beginnt mit der Zeilennummer (1 bis 9998), gefolgt von einer oder mehreren Anweisungen, die durch Doppelpunkt zu trennen sind. Die Zeile 9999 END wird automatisch angehängt.

4. Datentypen

Es gibt Integer- (Ganzzahlen mit einem Betrag kleiner 32628) und Fließkommazahlen sowie Zeichenketten (Strings).

5. Konstanten

Integerzahlen:-32627 bis 32627
Fließkommazahlen: 0.0000001 bis 9999999
Hexadezimale Zahlen: Beginnen mit einer Ziffer und enden mit einem H,
z.B.: 0F000H
String-Literal: In einfachen Quote-Zeichen eingeschlossene Zeichenkette
z.B. 'ABC'


6. Variablen

Numerische Variablen können mit einem Buchstaben, zwei Buchstaben oder einem Buchstaben und einer Ziffer bezeichnet werden. Außdem sind auch ein- und zweidimensionale Felder möglich.

Die Namen der String-Variablen bestehen aus einem Buchstaben und dem Währungssymbol.

Numerische Felder sowie String-Variablen müssen mit der DIM-Anweisung deklariert werden.

7. Operatoren

* Multiplikation
/ Division
- Suktraktion
+ Addition
OR Bitweises Inklusiv-ODER
AND Bitweises UND
> Größer als
Ergebnis ist 0 oder 1.
< Kleiner als,
Ergebnis ist 0 oder 1.
# Ungleich,
Ergebnis ist 0 oder 1.
= Gleich,
Ergebnis ist 0 oder 1.

Weiter oben stehende Operatoren haben Vorrang, d.h., wenn in einem numerischen Ausdruck alle 10 Operatoren vorkommen, wird die Multiplikation zuerst und der Test auf Gleichheit zuletzt ausgeführt. Diese Vorrangreihenfolge entspricht aber nicht in allen Punkten den mathematischen Regeln! Außerdem ist BASIC-SE 3.1 an der Stelle auch nicht ganz fehlerfrei. Aus diesem Grund sollte man die Ausführungsreihenfolge mit Hilfe runder Klammern selbst festlegen.

8. Anweisungen

AnweisungBedeutung
CLS Bildschirm löschen
DATA <Ausdruck> [ , ... ] Datenbereich (Liste von Zahlen und/oder Zeichenketten)
DIM Deklarieren und Dimensionieren von Feld- und String-Variablen,
Beispiel: DIM A(5), B2(6,7), C$(10)
END Programm beenden,
Die Zeile 9999 END wird automatisch angefügt.
FOR <Startwert> TO <Endwert> [ STEP <Schritweite> ] Beginn einer Schleife
GOSUB <Zeilennummer> Aufruf eines Unterprogramms,
Die Zeilennummer kann auch als variabler numerischer Ausdruck angegeben werden.
GOTO <Zeilennummer> Sprung zu einer Programmzeile,
Die Zeilennummer kann auch als variabler numerischer Ausdruck angegeben werden.
IF <Numerischer Ausdruck> THEN <Anweisungen> Bedingte Programmausführung,
Hat der Ausdruck einen Wert ungleich Null, werden die hinter THEN stehenden Anweisungen ausgeführt.
INPUT [ <String-Literal> , ] Variable> [ , ... ] Eingabe von Zahlen und Schreiben des eingegebenen Wertes in eine Variable
LET <Variable> = <Ausdruck> [ , ... ] Wertzuweisung,
Das Schlüsselwort LET kann weggelassen werden.
NEXT Ende einer FOR-Schleife
OUT <Port-Adresse> , <Wert> [ , <Wert> [ , ... ] ] Ausgabe des Wertes oder der Werte auf dem angegebenen IO-Port
PLOT <x> , <y> Setzen eines Bildpunktes mit Hilfe der Pseudografik,
Eine Zeichenstelle ist dabei in vier Bildpunkte unterteilt.
POKE <Adresse> , <Wert> [ , <Wert_2> [ , ... ] ] Der Wert wird in die angegebene Speicherzelle geschrieben, Wert 2 in Speicherzelle + 1 usw.
PRINT [ <Ausdruck> ] [ , ... ] [;] Ausgabe auf dem Bildschirm,
Ausdruck: Numerischer oder Zeichenkettenausdruck,
Steht vor einem Integer-Ausdruck ein Prozentzeichen, wird der Wert hexadezimal ausgegeben.
READ <Variable> [ , <Variable> [ , ... ] ] Lesen des nächsten Elements oder der nächsten Elemente des mit DATA erzeugten Datenbereichs in die angegebenen Variablen,
Der Lesezeiger wird entsprechend weitergesetzt.
REM <Kommentar> Der hinter REM stehende Text wird als Kommentar gewertet.
RESTORE Zurücksetzen des Lesezeigers für READ
RETURN Beenden eines Unterprogramms
UNPLOT <x> , <y> Zurücksetzen eines Bildpunktes mit Hilfe der Pseudografik,
Eine Zeichenstelle ist dabei in vier Bildpunkte unterteilt.


9. Funktionen

FunktionBedeutung
CHR$( <Numerischer Ausdruck> ) Ermitteln des ACSII-Zeichens, dessen Wert der Ausdruck hat
IN( <Port-Adresse> ) Lesen des angegebenen IO-Ports
INKEY$ Abfrage der Tastatur,
Ist eine Taste gedrückt, wird das Zeichen zurückgegeben.
INT( <Numerischer Ausdruck> ) Ermitteln der nächst kleineren ganzen Zahl,
Ist der Betrag des Wertes kleiner 32628, wird intern die Fließkomma- in eine Integer-Zahl gewandelt.
LEN( <String-Ausdruck> ) Ermitteln der Länge eines Strings
PEEK( <Port-Adresse> ) Lesen der angegebenen Speicherzelle
RND Ermitteln einer Zufallszahl zwischen 0 und 0.9999
USR( <Adresse> ) Aufruf eines Maschinencodeunterprogramms
Der Rückgabewert ist der Inhalt der Register CBLH.


10. Fehlermeldungen

@ Weder Zahl noch Schlüsselwort
A Arithmetikfehler
B Syntaxfehler
D DATA fehlt
F Funktion und Anweisung verwechselt
I Keine Integer-Zahl
M Speicher voll
U Überlauf bei PLOT/UNPLOT oder Feldern
$ (Währungssymbol) Keine Zeichenkette
= () Dieses Zeichen fehlt


11. Literatur

Schiller, Eckhard: Erweiterungen für Basic-Heimcomputer,
in radio fernsehen elektronik, Heft 9/1986, S. 559-563,
Berlin 1986