Исследование системных областей дисков, страница 6

U 0 L 3   ; дисассемблировать и распечатать первый и второй байты

В этом случае DEBUG выведет на экран первую команду программы загрузки: JMP — переход на адрес, с которого идет продолжение программы. Используйте команду DEBUG U, задав адрес, указанный в JMP, чтобы просмотреть остальную часть загрузочной программы. Например, если первой командой является команда JMP 0036, то введите:

U 0036         ;дизассемблировать и вывести на экран следующую порцию программы загрузки

При всех форматах дисков (за исключением дискет, форматированных на восемь секторов на  дорожке) вы увидите в загрузочном секторе некоторые ключевые параметры, которые начинаются с 11-го байта (табл. 7). Эти параметры являются частью блока параметров BIOS, который DOS использует для управления любым дисковым устройством. Если вы применяете DEBUG для изучения загрузочного сектора дискеты, расположенной в дисководе А, то сможете увидеть  шестнадцатеричный дамп блока параметров BIOS, введя следующую команду:

D 0B L 1В

Таблица 7. Блок параметров BIOS, расположенный в загрузочном секторе

Смещение

Длина

Описание

03H

0BH

0DH

0EH

10H

11H

13H

15H

16H

18H

1AH

1CH

8 Байтов

1 Слово

1 Байт

1 Слово

1 байт

1 слово

1 слово

1 байт

1 слово

1 слово

1 слово

1 слово

Идентификатор системы

Число байтов в секторе

Число секторов в кластере

Число секторов в зарезервированной области

Число копий таблицы FAT

Число записей в корневом каталоге

Общее число секторов

Описатель накопителя системы DOS

Число секторов в таблице FAT

Число секторов на дорожке

Число головок (сторон)

Число скрытых секторов

Корневой каталог

Корневой каталог дискеты или раздела фиксированного диска создается программой FORMAT системы DOS. Размер корневого каталога также определяется программой FORMAT, поэтому число записей в корневом каталоге ограничено .

В DOS версии 1.0 и более поздних, в которых не было поддержки для подкаталогов, размер корневого каталога ограничивал число файлов, которые можно было записать на дискету. Это ограничение исчезло в системе DOS версии 2.0 и следующих за ней версий, для которых имена файлов могли быть записаны как в подкаталоги, так и в корневой каталог.

Корневой каталог включает в себя ряд 32-байтовых записей. Каждая запись каталога содержит имя либо файла, либо подкаталога, либо метки тома. Запись, относящаяся к файлу, хранит такую основную информацию, как размер файла, его местоположение на диске, время и дату последней модификации. Эта информация размещена в восьми полях, перечисленных в табл. 9.

Таблица 9. Восемь частей записи каталога.

Смещение

Значение ,

Размер

Формат

Пояснение

ООН

08Н

ОВН

ОСН

16Н

18Н

1АН

1СН

Имя файла

Расширение

Атрибут

Зарезервировано

Время

Дата

Начальный номер

кластера

Размер файла

8

3

1

10

2

2

2

4

Символы в кодах ASCII

Символы в кодах ASCII

Коды битов 7. . .0

Не используется; нули

Кодируемое слово

Кодируемое слово

Слово

Целое

7, 6 - не используются

=(Часы*2048)+(Минуты*32)+(Секунды+2)

=((Год-1980)*512)+(Месяц*32)+День

Область файлов

Все файлы данных и подкаталога хранятся в области файлов, занимающей последнюю по порядку и наибольшую часть каждого диска.

DOS выделяет пространство для файлов по одному кластеру по мере надобности. (Помните, что кластер представляет собой один или более последовательных секторов; число секторов в кластере является фиксированной характеристикой для каждого формата диска.) При создании файла или при расширении уже существующего выделяемое файлу пространство увеличивается. Если требуется дополнительное пространство, DOS выделяет еще один кластер файлу.