80-Bus Journal |
Juli/Aug. 1983 · Ausgabe 7/8 |
Diese Pascal Implementation für den Nascom ist sehr schnell, kompakt und preiswert. Für 35 Pfund Sterling erhält man eine Cassette mit dem Compiler und ein 60 Seiten starkes Handbuch. Der Compiler ist etwa 12 K, das Runtime- Paket etwa 4 K und der integrierte Editor 4 K lang, sodaß etwa 20 K Arbeitsspeicher für’s Pascal draufgeht. Der Compiler ist für beliebige Z-80 Systeme geschrieben und benutzt ein eigenes Aufzeichnungs-format für die Cassette, in welchem er auch geliefert wird. Deshalb lädt man zunächst einen Urlader, den HPT4 Loader, der dann automatisch den Compiler einliest. Diese Prozedur ist für 20K Bytes bei 300 Baud etwas umständlich. Hat man den Compiler nun geladen, muß man einige Fragen zur Speicheraufteilung beantworten, z.B. durch Default <cr>, und der Compiler reloziiert sich selbst an die gewünschte Stelle. Nach dem Reloziieren kann man Back Up Copien mit Nas-sys machen, die dann aber der spezifizierten Speicheraufteilung entsprechen.
Der Editor ist ein äußerst simpler, zeilenorientierter Editor, der keine systemspezifischen Screen- Funktionen kennt. Es gibt aber die Möglichkeit, einen eigenen Editor einzubauen. Mit dem mitgelieferten Editor ist auch ein ‚Substitute‘ Befehl, also „finden und ersetzen“, möglich. Die Bedienung ist alles andere als komfortabel, wenn man den Nascom Pascal (BLS) Editor als Maßstab ansetzt. Doch nun zum Pascal selbst:
Der Compiler erzeugt ähnlich dem BLS Compiler Z-80 Op-Code. Dieser Code ist sehr schnell und kompakt; beim Vergleich mit dem BLS Pascal um mindestens das Dreifache beim Datentyp Integer. Es existiert der Datentyp Real mit einfacher Genauigkeit (wie MBASIC) sowie benutzerdefinierte Typen, Records und Sets. Die Einschränkung zum Standard Pascal nach Jensen Wirth liegt im Fehlen des Types File (dafür gibt es spezielle Cassetten Routinen), in der Record Beschränkung auf festen Recordsatz ( kein ‚variant Part‘), und im Fehlen des Parametertypes Funktion, bzw. Procedure (kein PLOT (SIN(f)) möglich).
Ansonsten bietet dieser Compiler alles was das Herz begehrt. Die ausgezeichneten Compiler Optionen ermöglichen das Beschleunigen ausgetesteter Programmsegmente durch Abschalten der einzelnen Prüfungen während der Laufzeit, z.B. Prüfung Operator Interrupt (escape im Basic) oder Integer Überlauf kann abgeschaltet werden. Es gibt eine Option ‚Include File‘, die ein File beim Lesen der Cassette compiliert, ohne es in den Speicher zu laden. So kann die Unterprogramm Bibliothek auf Band bleiben, und man übersetzt nur das, was man braucht, und spart Platz. Für diejenigen, die viel mit Pointern arbeiten, gibt es die Proceduren Mark und Release, die die Kontrolle des ‚Heap‘ ermöglichen.
Weiterhin ist die direkte Ausgabe von Hex-Integern möglich, Hex Konstanten ohnehin.
Seite 7 von 52 |
---|