Aufrufparameter
Register C = 3BH
Register DE - Adresse der FCB oder 0000h
FCB R0 & R1 - Lade-Adresse
Top of Stack- Adresse für Ausführung nach dem Laden
FCB - Enthält einen 'geöffneten' FCB, in der die Bytes
R0 und R1 die Lade-Adresse beinhalten
FCB = 0000h ist eine besondere Option ohne Übergabe
eines FCBs. Stattdessen werden alle RSXen, die
entsprechend markiert sind, entfernt
Diese Funktion ist nicht Bestandteil des BDOS sondern
die LOADER RSX übernimmt den Aufruf, wenn der LOADER
vorhanden ist. Der CCP benutzt diesen LOADER, um COM
oder PRL-Dateien mit oder ohne angefügte RSX zu laden.
Der CCP setzt die oberste Adresse auf dem Stack (SP)
auf 0100H gefolgt von 0000H, um die Kontrolle an das
geladene Programm zu übergeben.
Wenn die oberste Adresse auf dem (SP) 0100H ist und
keine RSXen nach dem Laden vorhanden sind, dann werden
der Sprungvektor in Adresse 6,7 und im SCB die Adresse
im Offset 99 auf den BDOS-Einsprung gesetzt, wodurch
der LOADER entfernt wird.
WICHTIG: wenn die Adresse auf dem (SP) nicht 0100h oder
die Lade-Adresse im FCB R0-R1 nicht dieselbe wie auf dem
(SP) ist, dann muss das aufrufende Programm sicherstellen,
das das geladene Programm nicht das aufrufende Programm
oder den Stack korrumpiert.
Zurückgegebene Parameter
Wenn (SP) = 0100H
Laden erfolgreich - übergibt Kontrolle nach 0100h
Fehlerfall - Fehlermeldung ausgeben und Warmstart
Wenn (SP) > 0100H, dann Rückgabe
A = 00H bei Erfolg
A = 0FEH bei falscher Adresse oder zu wenig Speicher
A = 0FFH bei aktiven physikalischen und erweiterten
Fehlern
Für einen größeren Einblick in diese Funktion sei auf
ANHANG E verwiesen - der Disassemblierung der Datei CCP.COM.
|