ndr-nkc.de
  
Startseite
News
 
NDR-NKC
Geräte Z80
Geräte 68000
Geräte 8088
 
Z80 Section
Baugruppen
ROM's
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
Software
8088 Section
Baugruppen
Downloads
 
Bussysteme
Stromversorgung
Input / Output
Grafikkarten
Speicherkarten
Massenspeicher
Weitere Baugruppen
 
Projekte
 
Dokumentation
Datenblätter
Glossar
Portraits
Links

Impressum

 

BASIC für Z80 Vollausbau

BASIC ist eine leicht zu erlernende Sprache zur Umsetzung einfacher aber auch komplexer Programme. Der Quelltext wird im RAM-Speicher abgelegt und beim Start immer wieder neu interpretiert. Im Gegensatz zu einem Compiler, der in einem Durchlauf Programme in Maschinensprache erzeugt, die dann gestartet werden, ist der BASIC Interpreter deutlich langsamer in der Ausführung von Programmen. BASIC ist keine strukturierte Programmiersprache, Sprünge und Aufrufe von Unterprogrammen werden immer über die Zeilennummer angegeben, nicht über einen Prozedurnamen.

Systemaufbau

Zum Aufbau eines minimalen Systems, welches BASIC ausführen kann benötigt man folgende Komponenten:
  • Basisplatine BUS2 und eine Stromversorgung
  • Prozessor-Baugruppe Z80CPU
  • Speicher-Baugruppe ROA64
  • Baugruppe KEY und Tastatur
  • optional Baugruppe CAS und Kassettenrekorder
  • optional Baugruppe CENT und Drucker
  • Auf der Speicher-Baugruppe ROA64 werden mindestens das Grundprogramm ab Adresse 0000h und das BASIC ab Adresse 4000h benötigt. Zusätzlich müssen ab Adresse 8000h mindestens 8 kByte RAM verfügbar sein.

    Bedienungshinweise

    Anders als in den beiden PDF angegeben, erscheint nachdem das ROM aus dem Grundprogramm an Adresse $4000 gestartet wurde, zunächst nur ein Fragezeichen. Erst nachdem man auf der Tastatur ein großes C eingegeben hat, wird der BASIC Interpreter gestartet.

    In BASIC können reelle Zahlen in Fließkomma-Darstellung verarbeitet werden, zur Darstellung eines Exponenten wird ein großes E verwendet.

    Unterstützte Befehle & Funktionen

    Um den internen Aufbau des Interpreters einfach zu halten haben viele Funktionen einen Parameter, obwohl dieser nicht benötigt wird. Ein Beispiel ist die Funktion FRE() bei der als Parameter eine Ziffer angegeben werden muss FRE(0). Eine andere Besonderheit ist, dass beim Befehl CSAVE kein Dateiname angegeben werden kann.

    Direkte Kommandos

  • CONT - Fortführen eines mit STOP unterbrochenen Programms
  • LIST - Ausgabe des Programms auf dem Bildschirm
  • LLIST - Ausgabe des Programms auf dem Drucker
  • NEW - Löschen des Programms und der Variablen
  • RUN - Ausführen des Programms
  • Basic-Befehle

  • CALL x - Aufruf eines Maschinensprache-Pragramms an Adresse x
  • CLEAR - Löschen aller Variablen
  • CLEAR x - Löschen aller Variablen und Reservierung von Speicher für Variablen
  • CSAVE - Speichern des Programms auf Kassette
  • CLOAD - Laden eines Programms von Kassette
  • DATA x, ... - Festlegung von Daten für READ
  • DEF FN - Definieren von Funktionen
  • DIM - Reservieren von Speicher für Arrays
  • END - Encekennung für das Programm
  • FOR x = y TO z STEP n - Bildung einer Zählschleife
  • GOSUB x - Aufruf eines Unterprogramms ab Zeile x
  • GOTO x - Sprung nach Zeile x
  • IF x = y THEN (GOTO) z - Sprung nach Vergleichen zweier Werte
  • INPUT - Abfrage eines einzugebenden Wertes
  • LET - Wertzuweisung an eine Variable
  • LPRINT x - Ausgabe auf dem Drucker
  • NEXT x - Ende einer FOR Schleife
  • NULL x - Setzen der Ausgabeposition links
  • ON x GOTO a, ... - Variable Programmausführung
  • OUT x,y - Ausgabe von Daten an IO Ports
  • POKE x,y - Beschreiben des Speichers an Adresse x mit dem Wert y
  • PRINT - Textausgabe auf dem Bildschirm
  • READ - Einlesen des nächsten mit DATA definierten Wertes
  • REM - Festlegen eines Kommentars
  • RESTORE - Rücksitzen des DATA Zählers
  • RETURN - Rücksprung aus einem Unterprogramm
  • STOP - Anhalten des Programms
  • USR(x) - Aufruf einer Maschinensprache-Funktion mit Rückgabe
  • WAIT x,y,z - Einlesen des IO Ports x mit nachfolgenden Verknüpfungen
  • Grafik-Befehle

  • CLRS - Löschen des Bildschirms
  • DRAWTO x,y - Zeichnen einer Linie zu den angegebenen Koordinaten
  • MOVETO x,y - Bewegend der Zeichenposition an die angegebenen Koordinaten
  • PAGE n,m - Festlegen der Schreib- und Leseseite der GDP64
  • SPC(x) - Vorrücken des Cursors um x Stellen
  • TAB(x) - Setzen des Cursors auf Position x vom linken Rand gemessen
  • Funktionen

  • FRE(x) - Rückgabe des verfügbaren Speicherplatzes ab 8800h
  • INP(x) - Einlesen von Daten von einem IO Port x
  • PEEK(x) - Einlesen eines Wertes aus dem Speicher von Adresse x
  • POS(x) - Rückgabe der Cursorposition auf der aktuellen Zeile
  • USR(x) - Aufruf eines Maschinenprogramms ab Adresse x
  • Arithmetische Funktionen

  • ABS(x) - Bildung des Absolut-Wertes von x
  • ATN(x) - Bildung des Arcustangens-Wertes von x
  • COS(x) - Bildung des Cosinus-Wertes von x
  • EXP(x) - Bildung der Potenz zur Basis e
  • INT(x) - Bildung des Ganzzahlwertes (Integer) von x
  • LOG(x) - Bildung des natürlichen Logarithmus von x
  • RND(x) - Bildung einer Zufallszahl zwischen 0 und 1
  • SGN(x) - Bildung des Vorzeichens (Signum) von x
  • SIN(x) - Bildung des Sinus-Wertes von x
  • SQRx() - Bildung der Quadratwurzel von x
  • TAN(x) - Bildung des Tangens-Wertes von x
  • String-Funktionen

  • ASC() - Rückgabe des Binärwertes eines ASCII Zeichens
  • CHR$(x) - Wandlung des ASCII Wertes in das zugehörige Zeichen
  • HEX(x$) - Wandlung eines sedezimalen Strings in einen dezimalen Wert
  • LEFT$(x$,n) - Rückgabe der ersten n Zeichen eines Strings
  • LEN(x$) - Rückgabe der Länge eines Strings
  • MID$(x$,n,m) - Rückgabe eines Teils eines Strings
  • RIGHT$(x$) - Rückgabe der letzten n Zeichen eines Strings
  • STR$(x) - Wandlung des Wertes x in einen Strung
  • VAL(x$) - Wandlung des Strings x$ in einen Wert
  • Operatoren

  • 4 Grundrechenarten + - * /
  • x AND y - Bitweise UND-Verknüpfung zweier Werte
  • x OR y - Bitweise ODER-Verknüpfung zweier Werte
  • NOT x- Bitweise Negierung des folgenden Wertes
  • PI - Konstante PI
  • Downloads

    Software Verwendung
    EBASIC 1.3
    EPROM 8 kByte
    EPROM zum Programmieren in der Sprache BASIC

    Enthält die oben beschriebenen Funktionen, 8 KByte Binärfile zum Einsatz auf ROA64
    Download ROM
    EPROM BASIC
    25 Seiten
    1,8 MByte
    Handbuch von Graf Elektronik Systeme

    Enthält die Beschreibung von BASIC für den Einsatz auf der SBC2 Baugruppe in Form von zwei EPROMs des Typs 2732. Enthält die Beschreibung aller BASIC-Befehle, Fehlermeldungen und einige Beispiel-Programme.
    Download PDF
    BASIC für Z80
    28 Seiten
    1,8 MByte
    Handbuch aus dem Francis Software Verlag

    Inhaltsgleich mit der obigen PDF, bessere Qualität.
    Download PDF