LRUN(TP)In einer Library lassen sich Dateien ablegen, die entweder mit den Programmen(NU)LU oder z.B. LBREXT und DELBR aus dieser Library wieder geladen werden können.
Sind dies .COM -Dateien, dann lassen sie sich mit einem speziellen Programm aus der Library in die TPA laden und ausführen.
Gary P. Novosielski hat dafür das Programm LRUN entwickelt.Ähnlich wie bei einigen CP/M-Debuggern wird das auszuführende Programm dort in den Speicher geladen, wo sich auch LRUN befindet.
Daher besteht LRUN aus zwei Teilen:
LRUN [-<LBR-Name>] <Kommando> [<Parameter>] LRUN öffnet zuerst die LBR -Datei und sucht darin die COM -Kommandodatei.
Dann werden die Parameter in die CP/M-Kommandozeile (Adresse 0080H ) kopiert,
danach wird das Ladeteil aufgerufen, das das Kommando aus der LBR -Datei in die Adresse 0100H lädt und aufruft.Hier die Originalquelle für LRUN. Der Ladeteil muss verschiebbar sein, daher ist er mit Macros geschrieben, um die Information zu erzeugen, die für das Verschieben benötigt wird. Das Programm ist für CP/M 2.x geschrieben.
Da CP/M 3.x eine RSX unterstützt, habe ich das Programm modifiziert.
Es enthält nun den administrativen und den Ladeteil getrennt sowie die gemeinsame Definition.
Ein besonderer Fall ist TURBO Pascal .
Die von TURBO Pascal erzeugten .COM -Dateien beinhalten die komplette Laufzeitbibliothek, die etwa 8kByte groß ist.
Bei einer Joyce-Diskettenkapazität von 173kByte waren solche Dateien also relativ groß.
Neben den .COM -Dateien ließen sich aber auch .CHN -Dateien erzeugen, bei denen nur der Programmcode ohne die Laufzeitbibliothek gespeichert wurde.Mit einer modifizierten Version von LRUN ist es möglich, die Laufzeitbibliothek mit den jeweiligen .CHN -Dateien zu kombinieren.
In jeder Library (LBR ) muss die Laufzeitbibliothek vorhanden sein1.
Wie beim Original-LRUN besteht das Programm aus dem admistrativen und Ladeteil.
Der Ablauf ist etwas aufwendiger, weil aus der LBR-Datei sowohl die Laufzeitbibliothek (deren Name TURBORTL.COM lauten muss)
als auch die CHN -Kommandodatei geladen werden müssen.Das Programm enthält ebenfalls den administrativen und den Ladeteil getrennt.
|