ndr-nkc.de
 
Hauptseite
Aktuelles

Verlauf
NDR-NKC
Geräte Z80
Geräte 68000
Z80 Section
Baugruppen
ROM's
CP/M 2.2
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
CP/M 68K
Software
Bussysteme
Stromversorgung
Input / Output
Grafik
Speicher
Massenspeicher
Sonstiges
Dokumentation
Datenblätter
Glossar
Portraits
Links
Kontakt
Impressum

Die Implementation von PASCAL/S auf dem NDR-Klein-Computer ist ein Zwischencode-Compiler, ein Mischung aus Compiler und Interpreter.


Zur Inbetriebnahme des 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 darf direkt hinter den Pascal-ROM's gesteckt sein. Wichtig ist nur, dass ab Adresse $18000 mindestens die bereits angesprochenen 32 KByte Speicher liegen. Es ist also auch der Einsatz der BANKBOOT Baugruppe möglich.

Nach Inbetriebnahme wird der Pascal-Quelltext in den Editor eingegeben und dann 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.


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
Umfang der ROM's 32 KByte
Offset des Compilers $F8
Offset der PCODE-Interpreters $E4
Ablage des PCODES ab Adresse $18000



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);


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.

Nachdem die Oberfläche gestartet ist, wird der Bildschirm wie folgt dargestellt:
Arbeitsdatei
Eine Speicherung des übersezten Programms (PCODE) war leider nicht möglich. Vor jeder Benutzung eines Programms musste dieses erneut im Quelltext eingeladen und übersetzt werden.