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

Impressum

 

PASCAL/S

Die Implementation von PASCAL/S auf dem NDR-Klein-Computer ist ein Zwischencode-Compiler, eine Mischung aus Compiler und Interpreter. Der in einem Texteditor geschriebene Quelltext wird in einen Zwischencode übersetzt, der anschließend von einem Laufzeitsystem interpretiert wird.

Voraussetzung

Zur Inbetriebnahme von PASCAL/S benötigt man im NDR-Klein-Computer eine zusätzliche Baugruppe ROA64, auf der die 4 ROM's (32 KByte) eingesetzt werden müssen. Zusätzlich wird ein möglichst großer (mindestens zusätzlich 32 KByte) zusammenhängender RAM-Bereich benötigt. Der RAM-Bereich muss unmittelbar hinter den PASCAL/S-ROM's verfügbar sein.

Nach Inbetriebnahme wird der Pascal-Quelltext in den Editor eingegeben. Zum Übersetzen wird der Compiler mit der Bibliotheksfunktion gestartet. Während der Übersetzung des Quelltextes wird in der ersten Spalte die Anzahl der vom Compiler erzeugten PCODE-Befehle ausgegeben. Hat ein Programm während der Übersetzung den Namen 'TEST0', so wird neben einigen Statusinformationen der komplette PCODE auf dem Bildschirm oder Drucker ausgegeben.

Eckdaten

PASCAL/S System Wert
Unterstützte Datentypen INTEGER, REAL, CHAR
Unterstützte Datenstrukturen ARRAY
Unterstützte Operatoren Addition, Subtraktion, Multiblikation, Division
Unterstützte Funktionen ABS, MOD, ORD, SIN, COS
Rechengenauigkeit 12 Stellen, Exponent +/- 126
Unterstützte Prozeduren WRITE, WRITELN, READ, READLN
Unterstützte Strukturen IF..THEN..ELSE, FOR..TO, FOR..DOWNTO, REPEAT..UNTIL, DO..WHILE
Grafikunterstützung Nein, nur mit Grundprogramm
Umfang der ROM's 32 KByte
ROM-Offset des Compilers $F8
ROM-Offset des Interpreters $E4
Ablage des PCODES ab Adresse $18000

Besonderheiten

PASCAL/S enthält einen Mechanismus, mit dem Assembler-Unterprogramme oder auch Funktionen aus dem Grundprogramm aufgerufen werden können. Alle mit einem WRITELN-Befehl nach dem ASCII-Code $01 ausgegebenen Zeichen bis zum Ende der Zeile werden in einen Zwischenpuffer geschrieben und dann vom Grundprogramm ausgewertet.

Beispiel:

writeln( chr(1), 'E @SCHREITE 100');
bewirkt, dass das Unterprogramm Schreite des Grundprogramms mit dem Wert 100 im Register D0 gestartet wird. Mehrere zusätzliche Parameter werden der Reihe nach als Langwort in den Registern D0 bis D7 übergeben. Das erste Zeichen nach CHR(1) bestimmt die Aktion, die vom Grundprogramm auszuführen ist.
E = Execute  (Unterprogramm an Adresse ausführen)
P = Put Byte (Speicher beschreiben) 'P $20000 7'
G = Get Byte (Speicher lesen ) 'G $20000'; READ(i);

PASCAL/S unter JADOS

Unter dem Diskettenbetriebssystem JADOS kann das PASCAL mit einer an Turbo Pascal angelehnten Oberfläche bedient werden. Dazu stand ein kleines Programm auf der JATOOL-Diskette zur Verfügung. Mit dieser Oberfläche konnte nach dem Vorbild von Turbo Pascal mit Include-Dateien gearbeitet werden. So ist man in der Lage, häufig benutzte Prozeduren als eigenständige Datei auf der Diskette zu speichern und diese erst während des Kompilierens in den Quelltext einzubeziehen.

Eine Speicherung des übersezten Programms (PCODE) ist leider nicht möglich. Vor jeder Benutzung eines Programms muss dieses erneut im Quelltext eingeladen und übersetzt werden.