MLOAD Utility

MLOAD1 ist ein Programm, das es erlaubt, eine vorhandene .COM-Datei mit Hilfe einer oder mehrerer .HEX-Dateien zu modifizieren. Nützlich ist dieses Programm dort, wo z.B. von der Hardware abhängige Programmierung zum Einsatz kommt (wie bei Modem-Programmen).
Das eigentliche Modem-Programm (.COM-Datei) beinhaltet alle Teile, die von der Hardware unabhängig sind.
Der Treiber für die Hardware wird dann gesondert programmiert (als .HEX-Datei) und mittels MLOAD mit der .COM-Datei verbunden2.

Da viele Assembler das Microsoft REL80-Format erzeugen, habe ich MLOAD so erweitert, dass auch eine .REL-Datei geladen werden kann. Voraussetzung ist dabei allerdings, dass das Modul im absoluten Modus (ASEG) erzeugt wird und keine externen Referenzen enthält.

Hier die Quelldatei:

1. Hal Bower hat auf seiner Web-Seite eine Version für Z-Systeme ausgehängt: MYLOAD13.LBR (Quelle MYLOAD13.Z80).
2. Ein gutes Beispiel für den Gebrauch von MLOAD ist KERMIT 4.11. Zum hardwareunabhängigen Kern wird der benötigte Treiber dazugeladen.
Das folgende Beispiel veranschaulicht den prinzipellen Ablauf. Das Hauptprogramm erzeugt das Label OVLAY, wo die Sprungleiste beginnt. Ohne Treiber wird der CP/M Warmstart (Adresse 0000H) ausgeführt. Mit Treiber wird der Bildschirm gelöscht und ein Text an einer Position ausgegeben.
Das Hauptprogramm Treiber mit JOYCE-Sequenzen Treiber ohne Sequenzen