|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1024 (0x400)
Types: TextFile
Names: »DCF.ALG«
└─⟦cbdf9d390⟧ Bits:30005867/disk19.imd Dokumenter (RCSL m.m.)
└─⟦this⟧ »DCF.ALG«
external integer katbits;
external zone katz;
external zone blokz;
external integer katseg;
external integer blokseg;
external procedure kat2;
begin
zone z (128 * 8, 1, stderror);
end kat2;
external
integer procedure find (key, result);
long key; array result;
begin
integer i, j;
integer field inf;
i:= key shift (katbits - 48);
j:= i // 256;
if j <> katseg then
begin
setposition(katz, 0, j);
inrec6(katz, 512);
katseg:= j
end;
j:= i mod 256;
inf:= 2 * j + 2;
j:= katz.inf;
if j <> blokseg then
begin
setposition(blokz, 0, j);
inrec6(blokz, 512); blokseg:= j
end;
f:= 2; l:= 506; i:= 0;
repeat
m:= (f + l) shift (-1);
if key > blokz.m then f:= m + 4 else
if key < blokz.m then l:= m - 4 else
begin
end
until f > l;
end find;
end
«eof»