BASIC-Funktionen

Nachfolgend werden die BASIC-Funktionen beschrieben, die der Compiler versteht. Es wird auch auf die Unterschiede zum originalen Z1013-BASIC-Interpreter eingegangen.

Wenn zu einer Funktion keine Syntax angegeben ist, hat die Funktion keine Argumente, d.h., hinter dem Funktionsnamen dürfen keine Klammern stehen.

Funktion Bedeutung Z1013-BASIC
ABS Absoluter Betrag ja
DEEK 16-Bit-Wert (2 Bytes) aus dem Arbeitsspeicher lesen nein
HEX Hexadezimalzahl ja
INCHAR Ein Zeichen von der Tastatur lesen ja
INKEY Wert der gerade gedrückten Taste lesen nein
IN Wert von einem Eingabetor lesen ja
INP Wert von einem Eingabetor lesen nein
LEN Länge der zuletzt mit I$ eingegebenen Zeichenkette ermitteln ja
PEEK 8-Bit-Wert (1 Byte) aus dem Arbeitsspeicher lesen ja
PTEST Testen, ob ein Pixel auf dem Bildschirm gesetzt ist nein
RND Ermitteln einer Zufallszahl ja
SGN Ermitteln des Vorzeichens nein
SIZE Ermitteln der Größe des oberhalb von TOP zur Verfügung stehenden Speicherplatzes ja
SQR Ermitteln der Quadratwurzel nein
TOP Ermitteln der Adresse des ersten freien Bytes hinter dem Programm ja


Erläuterungen zu den Funktionen

In spitzen Klammern eingeschlossene Elemente dienen als Platzhalter und sind entsprechend zu ersetzten.

ABS

Syntax: ABS ( <numerischer Ausdruck> )

Die Funktion liefert den absoluten Betrag des Wertes des angegebenen Ausdrucks.

DEEK

Syntax: DEEK ( <Adresse> )
Adresse:numerischer Ausdruck

Die Funktion liest zwei aufeinander folgende Bytes vom Arbeitsspeicher ab der angegebenen Adresse und liefert sie als 16-Bit-Wert zurück.

HEX

Syntax: HEX ( <Hexadezimalzahl> )
Hexadezimalzahl: Folge von Zeichen aus 0 bis 9, A bis F oder a bis f

Die Funktion liefert den Wert der angegebenen Hexadezimalzahl.

Beim originalen Z1013-BASIC-Interpreter sind Kleinbuchstaben in der Hexadezimalzahl nicht erlaubt. Außerdem dürfen zwischen den Klammern und der Hexadezimalzahl keine Leerzeichen stehen.

INCHAR

Die Funktion liest ein Zeichen von der Tastatur und liefert den Wert dieses Zeichens zurück. Wenn keine Taste gedrückt ist, wird bis zum Drücken einer Taste gewartet.

INKEY

Die Funktion prüft, ob gerade eine Taste gedrückt ist. Wenn ja, wird der Wert des damit eingegebenen Zeichen zurückgeliefert. Anderenfalls liefert die Funktion den Wert Null.

IN, INP

Syntax: IN ( <Adresse> )
INP ( <Adresse> )
Adresse:numerischer Ausdruck

Die Funktionen IN und INP haben die gleiche Wirkung. Sie lesen ein Byte von dem durch die Adresse angegebenen Eingabetor und liefern den Wert des Bytes zurück.

Beim originalen Z1013-BASIC-Interpreter ist nur das Schlüsselwort IN erlaubt.

PEEK

Syntax: PEEK ( <Adresse> )
Adresse:numerischer Ausdruck

Die Funktion liest das Byte vom Arbeitsspeicher, welches auf der angegebenen Adresse steht, und liefert den Wert des Bytes zurück.

PTEST

Syntax: PTEST ( <Zeile> , <Spalte> )
Zeile: numerischer Ausdruck mit einem Wert von 0 bis 63
Spalte: numerischer Ausdruck mit einem Wert von 0 bis 63

Mit Hilfe der Blockgrafiksymbole wird eine Vollgrafik mit 64x64 Pixeln nachgebildet. Die Funktion testet, ob das angegebene Pixel gesetzt ist. Wenn ja, liefert die Funktion den Wert eins, sonst Null.

RND

Syntax: RND ( <Maximalwert> )
Maximalwert:numerischer Ausdruck

Die Funktion liefert einen zufälligen Wert zwischen eins und dem angegebenen Maximalwert.

SGN

Syntax: SGN ( <numerischer Ausdruck> )

Die Funktion liefert -1, wenn der Wert des angegebenen Ausdrucks kleiner Null ist, 1 wenn der Wert größer Null ist und Null, wenn der Wert Null ist.

SIZE

Die Funktion liefert die Größe des Speicherbereichs zurück, der sich unmittelbar an das Programm anschließt und dessen Adresse mit der TOP-Funktion ermittelt werden kann. Die obere Grenze dieses Speicherbereichs wird in den Compiler-Optionen eingestellt. Wenn die Größe dieses Bereichs 32767 Bytes übersteigt, wird nur 32767 zurückgeliefert, da das der größtmögliche positive Wert ist.

SQR

Syntax: SQR ( <numerischer Ausdruck> )

Die Funktion liefert den ganzzahligen Anteil der Quadratwurzel aus dem Wert des angegebenen Ausdrucks zurück.

TOP

Die Funktion liefert die Adresse des ersten freien Bytes hinter dem Programm zurück.