Write (Sees:10) ;

Write (#13#10' головка ');

for j :== 1 to d do with Disk[j].Pt do

Write(BegHd:10) ;

Write(#13#10' дорожка ');

for j := 1 to d do with Disk[j].Pt do

Write((BegSC and 192) shi 2+ BegSC shr 8:10);

Write (#13#10' сектор ');

for j := 1 to d do with Disk[j].Pt do

Write(BegSC and 63:10);

WriteLn(#13#10'Описатель:') ;

Write (' головка ');

for j := 1 to d do with Disk[j] do

Write(Hd:10) ;

Write (#13#10' дорожка ');

for j := 1 to d do with Disk[j] do

Write (Tr:10) ;

Write (#13#10' сектор ');

for j := 1 to d do with Disk[j] do

Write(Se:lO) ;

WriteLn end.

В этой программе для доступа к физическим секторам используется прерывание BIOS $13, которое подробно описывается в п.3.2.

Поле Sys описателя раздела может иметь одно из значений, указанных в табл.3.2.

Таблица 3.2

Значения поля SYS

Значение

Смысл

о

Неизвестная операционная система

1

Операционная система MS-DOS, 12-битная FAT

4

Операционная система MS—DOS, 16-битная FAT

5

Описатель логического раздела


Таблица распределения файлов

За загрузочным сектором располагается так называемая таблица распределения файлов [File Allocation Table — FAT). Эта таблица начинается в секторе BPB.ResSecs и содержит информацию о принадлежности каждого кластера тому или иному файлу. Обычно на диске создается несколько копий FAT (чаще всего две копии), содержимое которых строго идентично. Дублирование информации в нескольких копиях FAT повышает надежность ее хранения. Количество копий FAT и размер каждой копии (в секторах) задаются полями FATCnt и FATSize блока ВРВ.