function UBIOS (FN, PA, PBC, PDE, PHL: integer): integer;
{ realisiert BlOS-Zugriff ueber CP/M 3.0 BDOS-Funktion Nr. 50 }
{ FN = BIOS-Funktionsnummer, PA = Akku, PBC = Register BC usw.}
type ParameterBlock = record
func, Areg: byte;
BCreg, DEreg, HLreg: integer
end;
var BiosPB: ParameterBlock;
Result: integer;
begin
with BiosPB do begin
func := FN;
Areg := PA;
BCreg := PBC;
DEreg := PDE;
HLreg := PHL;
end;
Result := 0;
case FN of
2,3,7,13,14,15,17,18,19,24: Result := Bdos (50, Addr (BiosPB));
9,16,20,22,25: Result := BdosHL (50, Addr (BiosPB));
else Bdos (50, Addr (BiosPB))
end;
UBIOS :=Result
end; { UBIOS }
Bild 1. Das Listing der Funktion UBIOS, die den direkten BlOS-Zugriff unter CP/M-Plus realisiert