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