Disk[l].Se := 1;
{Цикл чтения описателей логических дисков} with Boot do repeat
k := 1; {Ищем непустой описатель} while (Part[k] .BegSOO) and (k<4) do inc (k) ;
if k<=4 then
begin {Найден непустой описатель} if cKMAXPART then begin
inc(d); {Номер очередного диска} Disk[d].PT := Part[k] {Сохраняемго описатель} end;
inc(k); {Part[k] -ссылка на следующий
описатель раздела}
if (k<=4) and (Part [k] .BegSCOO) then with Part[k],Disk[d+1] do
begin {Адрес очередного описателя} Hd := BegHd;
Tr := (BegSC and 192) shi 2+BegSC shr 8;
Se := BegSC and 63 end end;
{Продолжаем цикл до ошибки чтения или
пустой ссылки на очередной описатель} until (Part[k].BegSC=0) or (k>4) or
not ReadSec($80,Part[k].BegHd,Part[k].BegSC,Boot) ;
{Выводим таблицу логических дисков} Write(#13#lO#lO'nHCK',' ':8);
for j := 1 to d do
Write(chr(ord('B')+j):10) ;
Write(#13#10'Активный',' ':4);
for j := 1 to d do with Disk[j].Pt do if BootF=$8O then
Write(^a' :10) else
Write('Нет':10) ;
Write(#13#10'Код системы ');
for j := 1 to d do with Disk[j].Pt do Write(Sys:10) ;
Write(#13#10'Объем (байт)');
for j := 1 to d do with Disk[j].Pt do Write(Size*512:lO) ;
WriteLn(#13#10'Начало:') ;
Write(' OTH.сектор');
for j := 1 to d do with Disk[d].Pt do