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

 

GOSI - Grafisch Orientierte Sprache I

GOSI ist eine leicht zu erlernende Sprache mit Elementen aus der Sprache LOGO. Mit einfachen Befehlen kann ein Zeichenpunkt über den Bildschirm bewegt werden. Das Zeichnen von Grafiken ist somit sehr einfach. In GOSI können neue Befehle einfach trainiert werden. Programme und Daten können auf dem Kassettenrekorder gesichert werden. Die Arithmetik ist auf den Integer-Zahlenbereich beschränkt.

Systemaufbau

Zum Aufbau eines minimalen Systems, welches GOSI 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
  • Auf der Speicher-Baugruppe ROA64 werden mindestens das Grundprogramm ab Adresse 0000h und das GOSI ab Adresse 2000h benötigt. Zusätzlich müssen ab Adresse 8000h mindestens 8 kByte RAM verfügbar sein.

    Unterstützte Befehle und Funktionen

    Eine Besonderheit von GOSI ist die im Gegensatz zu allen anderen Programmiersprachen die Darstellung aller Befehle und Funktionen in deutscher Sprache. GOSI kann nur mit Ganzzahlen rechnen, das Fließkomma-Format ist nicht implementiert.

    Operatoren

  • 4 Grundrechenarten + - * /
  • Modulo Operator
  • Logische Verknüpfungen

  • ! - ODER-Verknüpfung
  • & - UND-Verknüpfung
  • ˜ - NICHT-Verknüpfung
  • Vergleiche

  • < - Kleiner
  • > - Größer
  • <= - Kleiner oder Gleich
  • >= - Größer oder Gleich
  • = - Gleichheit
  • <> - Ungleichheit
  • Arithmetische Funktionen

  • SIN(x) - Berechnet 256*SIN(x)
  • COS(x) - Berechnet 256*COS(x)
  • Grafische Befehle

    Mit den grafischen Befehlen wird die Turtle-Grafik (Schildkrötengrafik) gesteuert. Für die einige Befehlsworte sind jeweils Abkürzungen aus zwei Buschtaben möglich

  • VW x - VORWÄRTS x - Schreitet x Schritte vorwärts
  • RW x - RUECKWAERTS x - Schreitet x Schritte rückwärts
  • LI x - LINKS x - Dreht den Zeiger um x Grad im Uhrzeigersinn
  • RE x - RECHTS x - Dreht den Zeiger um x Grad gegen den Uhrzeigersinn
  • SCHR16TEL x - Schreitet um 1/16 Schritt vorwärts
  • SA - STIFTAB - Senkt den Schreibstift, folgende Befehle zeichnen
  • SH - STIFTHOCH - Hebt den Schreibstift, folgende Befehle bewegen nur den Zeiger
  • MITTE - Der Zeiger wird auf die Mitte des Bildschirms gesetzt
  • AUFX x - Der Zeiger wird auf die angegebene x-Koordinate gesetzt
  • AUFY y - Der Zeiger wird auf die angegebene y-Koordinate gesetzt
  • AUFXY x y - Der Zeiger wird auf die angegebenen Koordinaten gesetzt
  • AK x - AUFKURS x - Setzt den Winkel des Zeigers, 0 ist rechts
  • LB - LOESCHEBILD - Löscht den Bildschirminhalt
  • LS - LOESCHESCHIRM - Löscht den Bildschirminhalt und setzt den Zeiger in die Mitte
  • BILD - Auswahl des aktuellen Bildschirms
  • CLRINV - Löscht die aktuelle Schreibseite
  • BLINKER x y - Setzt den Textcursor aus Spalte x (0..79) und Zeile y (0..7)
  • LINIE x1 y1 x2 y2 - Zeichnet eine Linie von x1,y1 nach x2,y2
  • STIFT n - Macht den Zeiger schreibend (0) oder löschend (1)
  • SEITE n m - Setzt die Schreibseite (n) und Anzeigeseite (m)
  • FLIP n m - Bestimmt die Austauschrate der Bildschirmseiten
  • Funktionen

  • TASTE - Liefert eine Zeichen von der Tastatur
  • TASTE? - Prüft ob eine Taste betätigt wurde
  • ZAHL - Wartet auf die Eingabe einer Zahl
  • ZZ(x) - erzeugt eine Zufallszahl bis x
  • XKO - Liefert die aktuelle X-Koordinate des Zeigers
  • YKO - Liefert die aktuelle Y-Koordinate des Zeigers
  • KURS - Liefert den aktuellen Winkel des Zeigers
  • PORT x - Liest den Wert an der Postadresse x ein
  • MEM x - Liest der Wert an der Adresse x aus dem Speicher
  • Variablen

  • SETZE "VAR x - Setzt den Wert der Variablen VAR auf n
  • :VAR - Liefert den Wert der Variablen VAR
  • Modulo Operator
  • Eingabe und Ausgabe

  • DR x - DRUCKE x - Gibt Werte oder Variablen auf dem Drucker aus
  • DZ x - DRUCKZEILE x - Wie oben jedoch mit Zeilenvorschub
  • ZEICHEN x - Gibt das zum ASCII Code gehörende Zeichen auf dem Bildschirm aus
  • PORT x y - Gibt den Wert y auf dem Ausgabeport x aus
  • MEM x y - Speichert den Wert y in der Speicheradresse x
  • DRUCKAN - Ausgabeumlenkung auf den Drucker
  • DRUCKAUS - Ausgabeumlenkung auf den Bildschirm
  • Strukturbefehle

  • WENN bed [] [] - Vergleich mit Programmblöcken für wahr und falsch
  • WH anz [] - WIEDERHOLE anz [] - Schleifenstruktur
  • PRUEFE bed - Setzt ein Internes Flag
  • WW - WENNWAHR - Testet das interne Flag und führt nachfolgende Befehle aus
  • WF - WENNFALSCH - Testet das interne Flag und führt nachfolgende Befehle aus
  • SO bed [] - SOLANGE bed [] - Führt den Programmblock aus solange die Bedingung wahr ist
  • Speicherverwaltung

  • LERNE name:par - Definition einer benannten Funktion
  • ENDE - Beendet das Lernen einer Funktion
  • RK - RUECKKEHR - Rücksprung aus eines gelernten Funktion
  • ZEIGE - Gibt alle definierten Funktionen und Variablen aus
  • VERGISS - Löscht Variablen oder gelernte Funktionen
  • BEWAHRE - Speichert alle Variablen und Funktionen auf Kassette
  • LADE - Lädt das nächste Programm von Kassette
  • TEST - Prüft ein auf Kassette gespeichertes Programm
  • CALL adr - Ruft ein Maschinensprache-Programm auf
  • Downloads

    Software Verwendung
    EGOSI 1.1
    EPROM 8 kByte
    EPROM zum Programmieren in der Sprache GOSI

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

    Enthält die Beschreibung von LOGO und viele Beispiele für grafische Ausgaben und das Lernen von Funktionen.
    Download PDF
    GOSI für Z80
    52 Seiten
    2,3 MByte
    Handbuch aus dem Francis Software Verlag

    Enthält die Beschreibung von LOGO und viele Beispiele für grafische Ausgaben und das Lernen von Funktionen.
    Download PDF