Системное программное обеспечение персональных ЭВМ


Пример 5 - часть 4


Значения элементов от 0xFF0 до 0xFF6 (от 0xFFF0 до 0xFFF6) - резервные кластеры. Значение 0xFF7 (0xFFF7) - сбойный кластер. Значения от 0xFF8 до 0xFFF (от 0xFFF8 до 0xFFFF) - признак конца цепочки, последнего кластера файла.

Программа примера 10.4 считывает FAT и распечатывает поэлементно ее начальную часть. Для определения начального сектора и размера FAT программа вынуждена вначале считать в память Boot-сектор так же, как это делалось в предыдущем примере. Для диска, отформатированного в DOS 4.0 или выше программа может определить формат FAT по содержимому поля FatForm Boot-сектора, в противном случае программа запрашивает формат у оператора.

Выборка элемента 12-битной FAT ведется по следующему алгоритму: выбирается слово по смещению i*1,5 от начала FAT, где i - номер кластера; если i четное, содержимое элемента FAT составляют младшие 12 бит этого слова, в противном случае - старшие 12 бит.

Для 16-битной FAT слово по смещению i*2 содержит элемент FAT.




- Начало -  - Назад -  - Вперед -