begin
with Reg do begin
ah :•" $44; {Функция 44}
al := $OD; (Общий вызов lOCTLf
cl := $60; {Дать параметры устройства}
ch := $8; (Устройство - диск)
Ы :- Di.sk+1; {Диск 1=А,..)
bh := 0;
ds := seg(IO) ;
dx := of s(IO) ;
MSDOS(Reg);
Output end
end; {GetIOCTLInfo)
{—.— —_———_-_————/
Procedure GetListDisk(var List: PListDisk);
{Формирует список дисковых описателей} var
Disk: Byte;
DI : TDisk;
P,PP: PListDisk;
begin
Disk := 2; {Начать с диска С:} List :° MIL;
repeat
GetDiskInfo(Disk,DI);
if not Disk_Error then begin New(P) ;
if List=MII. then
List := P else
PP^.NextDisk := P;
with P" do begin
DiskInfo := DI;
NextDisk := HXL;
inc(Disk) ;
PP := P end end until Disk_Error;
Disk_Error := False end; {GetListDiskf ^—————————————;
Procedure GetMasterBoot(var But) ;
(Возвращает в переменной Buf главный загрузочный сектор} begin
GetAbsSector($80,0,l,Buf) end; {GetMasterBoot} {— ———————— ————
Function GetMaxDrv: Byte;
{Возвращает количество логических дисков) consfc
Мах: Byte =0;
->egin
if Max=0 then with Reg do begin
ah := $19;