80-Bus Journal

  

Juli/Aug. 1983 · Ausgabe 7/8

EMDOS

von Helmut Emmelmann

EMDOS ist ein Diskettenbetriebssystem, das es er­moeg­licht Programme und Daten unter bestimmten Dateinamen auf Disketten zu speichern. EMDOS wurde so konzipiert, daß es mit dem Cassetten-Monitor Nassys 3 arbeiten kann. Es bildet daher eine Art Zwischenlösung, die es erlaubt, alle bisher vorhandene Software weiter zu verwenden, was bei den Betriebssystemen CP/M, HDOS oder CLD­DOS nicht möglich ist. Andererseits ist eine Disketten-Datei Verarbeitung unter EMDOS nur schwer möglich.

EMDOS benötigt im Speicher des Nascom etwas weniger als 4k Byte und belegt so gerade eine 4k-Page (z.B. D000-DFFF oder A000-AFFF). Es wird von Nassys aus mit einer E-Anweisung (oder später mit eigenem Kommandobuchstaben) oder auch direkt von Basic aufgerufen. Es erwartet dann Anweisungen vom Benutzer, mit denen Programme oder Daten geladen oder abgespeichert werden können. Anschließend kann man wieder zu Nassys bzw. BASIC zurückkehren und zum Beispiel das geladene Programm ablaufen lassen.

Zum Verständnis der EMDOS-Anweisungen ist es zunächst notwendig, etwas auf die Art der Datenspeicherung auf Diskette einzugehen: Auf einer Diskette werden die Programme oder Daten als sogenannte Files gespeichert. Jedes File hat einen vom Benutzer frei wählbaren Namen. Ein File kann jederzeit neu abgespeichert, verändert oder auch gelöscht werden. Außerdem kann das Inhaltsverzeichnis, eine Liste aller Files auf der Diskette, angezeigt werden.

Der Name eines solchen Files besteht aus zwei Teilen; dem eigentlichen Namen und der Extension, durch einen ‚.‘ getrennt. Zum Beispiel SCHACH.NAS oder TEST.BAK. Der Name besteht aus maximal 8 Buchstaben bzw. Ziffern, wobei das erste Zeichen ein Buchstabe sein muß. Die Extension besteht aus 3 Buchstaben. Sie wird normalerweise dazu verwendet, die Files nach Typen einzuteilen. Zum Beispiel verwendet man BAS für Basic-Programme, PAS für PASCAl-Programme oder ABS bzw. COM für fertige Maschinenprogramme. Man erkennt dadurch schon am Inhaltsverzeichnis den Typ eines Files.

Bei EMDOS ist es jedoch nicht notwendig, immer eine Extension anzugeben. Schreibt man den Filenamen ohne ‚.‘ und Extension –​zum Beispiel SCHACH oder TEST – nimmt EMDOS automatisch die Extension NAS an.

In einem EMDOS-File wird neben dem Programm auch seine Anfangsadresse, seine Endadresse und seine Startadresse mit abgespeichert. So muß man beim Laden des Programms nur noch den Namen des Programms eingeben, EMDOS weiß dann schon, wohin das Programm geladen werden muß und wo es gestartet wird.

Es kommt sehr oft vor, daß ein Programm, das gerade verändert wurde, erneut unter dem selben Namen abgespeichert werden soll. EMDOS hebt dabei immer noch die alte Version des Files auf, sodaß, falls beim Abspeichern ein Fehler auftritt oder der Benutzer aus irgendwelchen anderen Gründen die alte Version noch benötigt, diese noch verfügbar ist. Dies funktioniert folgendermaßen:

Vor dem Abspeichern des Files wird die Extension des ursprünglichen Files in ‚BAK‘ umgewandelt, ein eventuell vorhandenes File mit dem selben Namen und der Extension ‚BAK‘ wird gelöscht. Dann wird das File abgespeichert, mit der angegebenen bzw. der angenommenen Extension. Nach dem Abspeichern kann der Anwender also noch durch Angabe der Extension ‚BAK‘ auf das ursprüngliche File zugreifen. Dies wird unten noch anhand eines Beispiels näher erläutert.

Anweisungen an EMDOS:

Wie schon oben erwähnt, können die EMDOS-Anweisungen eingegeben werden, nachdem EMDOS mit dem E-Nassys-Befehl gestartet wurde.

L Filename [s]

Das File, das mit Filename angegeben ist, wird geladen, die Anfangsadesse, die Endadresse und die Startadresse werden angezeigt. Wahlweise kann der Parameter s angegeben werden, eine Adresse, die angibt, wohin das Programm geladen werden soll. In diesem Falle wird die mit abgespeicherte Anfangsadresse ignoriert.

S Filename a e [ s f ]

Der Speicherbereich von der Adresse a bis zu der Adresse e wird abgespeichert. Die Hexadezimalzahlen a f werden nur benötigt, wenn das Programm automatisch gestartet werden soll, s ist dabei die Startadresse und f die Startfunktion (sh. unten).

S Filename

Das Programm, das vorher geladen wurde, wird mit den selben Parametern wieder abgespeichert.

B Filename

Das im Speicher stehende Basic-Programm wird unter dem angegeben Filenamen abgespeichert.

D

Inhaltsverzeichnis anzeigen.

E Filename

Das File mit dem angegebenen Namen wird gelöscht.

R Filename a l

File an die Adresse a mit der maximalen Laenge l einlesen. R verwendet wie W (sh.u.) ein anderes Fileformat, bei dem keine Lade- und Startadressen mit abgespeichert werden. Dieses Format wird nur aus kompatibilitätsgründen unterstützt. Man sollte daher weitgehendst die L- und S-Anweisungen verwenden.

W Filename a l

File ab der Adresse a mit der Laenge l abspeichern, l muß in vielfachen von 256 angegeben sein, es können also nur ganze Sektoren geschrieben werden.

M

Rückkehr zum Monitor bzw. zum Basic.

Filename

Bei Angabe eines Filenames ohne Anweisungsbuchstaben (der Filename muß mindestens 2 Buchstaben lang sein) versucht EMDOS, das File zu laden und automatisch zu starten. Dabei spielt die beim S-Befehl angegebene Startfunktion eine Rolle:

Startfunktion =

  1. das Programm wird nur geladen, nicht gestartet
  2. das Programm wird geladen und anschließend eine K Anweisung (Rückkehr zu Nassys oder zu BASIC) ausgeführt.
  3. das Programm wird an der angegebenen Startadresse gestartet.
  4. das Programm wird mit einem Call-Befehl gestartet und kann dann mit RET zu EMDOS zurückkehren.

Alle Anweisungen können auch von Programmen in Maschinensprache aus aufgerufen werden. Diese Schnittstelle ist gesondert beschrieben.

Neben den eben beschriebenen Anweisungen, gibt es noch weitere Befehle, die jedoch nicht immer im Speicher stehen, sondern in Form von Programmfiles auf Diskette stehen und je nach Bedarf geladen werden:

Seite 41 von 52