|
|
|
|
Обработка 16-битовых элементов таблицы FAT
Работа с номерами кластеров и элементами таблицы FAT на дисках, которые используют 126-битовые элементы таблицы FAT, значительно облегчается по сравнению с работой, в которой используются
12-битовые элементы таблицы FAT, потому что все элементы таблицы
FAT здесь выровнены на границу слова, то есть, каждый элемент
таблицы FAT может считываться или записываться, как целое полное
слово. При этом не нужно заботиться о соседних элементах таблицы
FAT.
На рисунке 11-9 показано, как происходит кодирование номеров
двух кластеров в пару элементов таблицы FAT при просмотре отладчиком DEBUG номеров так, как они представлены.
На рисунке 11-10 показано, как происходит кодирование номеров двух кластеров из пары элементов таблицы FAT.
Для декодирования информации в 12-битовых элементах таблицы
FAT на бумаге или внутри программы нужно пользоваться представленной ниже последовательностью действий:
1. Получить начальный кластер файла из элемента каталога
2. Умножить используемый номер кластера на 2 (байта; 1 слово).
3. Используйте результат в качестве смещения в таблицу FAT,
указывающий на элемент, отражающий только что использовавшийся кластер. Этот элемент содержит номер следующего
кластера, занимаемого тем же файлом.
4. Загрузите слово (2-байтовое число), расположенное с этим
смещением, в регистр
5. Если результирующие четыре цифры представляют собой число
от FFF8 до FFFF, это значит, что вы достигли конца файла.
В противном случае эти четыре цифры представляют собой
номер следующего кластера, занятого тем же файлом.
|
|