S/P-BASIC V3.3

S/P-BASIC V3.3 ist eine von Frank Prüfer geschaffene Weiterentwicklung von BASIC-SE valign="top"3.1, die neben Erweiterungen im Sprachumfang auch eine verbesserte Systemstabilität bietet. Nachfolgend wird nur auf die wesentlichen Unterschiede eingegangen.

1. Ausführungsreihenfolge der Operationen

Die Ausführungsreihenfolge wurde geändert, entspricht aber wie bei BASIC-SE valign="top"3.1 nicht den mathematischen Regeln. Deshalb ist es ratsam, die Ausführungsreihenfolge durch Setzen runder Klammern selbst festzulegen.

2. Neue und geänderte Anweisungen

AnweisungBedeutung
CALL <Adresse> [ , ... ] Aufruf eines Maschinencodeunterprogramms ohne Rückgabe eines Wertes
IF <Bedingung> THEN ... Bedingte Programmausführung,
Die IF-Anweisung hat sich syntaktisch nicht geändert. Es gibt allerdings Unterschiede in der Logik, wenn hinter dem Schlüsselwort THEN mehr als eine Anweisung folgen: Ist die Bedingung nicht erfüllt, wird mit der nächsten Programmzeile und nicht wie bei BASIC-SE valign="top"3.1 mit der übernächsten Anweisung hinter THEN fortgesetzt.
PRINT [... [, ...]] [;] Bei PRINT ist ein Konstrukt zur Ausgabe von Leerzeichen hinzugekommen:
& <Ausdruck>
Es werden so viele Leerzeichen ausgegeben, wie der Wert des Ausdrucks ist.
RANDOMIZE Festlegen eines zufälligen Startwertes für den Zufallszahlengenerator (RND-Funktion)


3. Neue und geänderte Funktionen

FunktionBedeutung
ASC( <String-Ausdruck> ) Ermitteln des ACSII-Codes des ersten Zeichens der übergebenen Zeichenkette
USR( <Adresse> )
USR( <Adresse> , <Wert> )
Aufruf eines Maschinencodeunterprogramms mit Rückgabe eines Wertes in den Registern BC und HL,
Außerdem ist auch die Übergabe eines Wertes in diesen Registern möglich.


4. Neue und geänderte Fehlermeldungen

U Undefiniertes Zeichen, weder Zahl noch Schlüsselwort
S Syntaxfehler
O Überlauf bei PLOT/UNPLOT oder Feldern
L Zeile nicht gefunden
T Lesen von Magnetband fehlgeschlagen,
Sie sollten mit NEW alles neu initialiseren.