5.3.1. Блок управления файлом (FCB)

      Для  традиционного обмена  с файлом  Вы должны  разметить в

 памяти  следующий  блок,  называемый  блоком  управления  фаилом

 (FCB).

 

 Смеще- Дли-

 ние    на   Содержимое     Комментарий         Инициализируется

 ────────────┬───┬───────────────────────────────────────────────

 -7     1    │FFh│ Флаг расширенного FCB         Пользователем,

             ├───┴─────────────────┐              в FFh

 -6     5    │резервная область ДОС│             Пользователем,

             ├───┬─────────────────┘               нулями

 -1     1       │ Атрибут файла                 Пользователем

             ├───┤

 +0     1    │Drv│ Номер диска (см. прим. 2)     Пользователем

             ├───┴─────────────────────┐ Имя

 +1     8         FileName            │ файла   Пользователем

             ├───────────┬─────────────┘

 +9     3    │ FileExt   │ Тип файла             Пользователем

             ├───────┬───┘

 +0Ch   2    │CurBlk │ Номер текущего блока      ДОС, в 00h

             ├───────┤

 +0Eh   2    │RecSize│ Размер логической записи  ДОС, в 80h

             ├───────┴───────┐

 +10h   4      FileSize     │ Длина файла       ДОС, из каталога

             ├───────┬───────┘

 +14h   2    │ Date  │ Дата модификации          ДОС, из каталога

             ├───────┤

 +16h   2    │ Time  │ Время модификации         ДОС, из каталога

             ├───────┴─────────────┐

 +18h   8    │резервная область ДОС│

             ├───┬─────────────────┘

 +20h   1    │CurRec   Номер записи в блоке      Пользователем

             ├───┴───────────┐  (0-7Fh)

 +21h   4      RandomRec    │ Номер записи      Пользователем

             └───────────────┘ в файле

 +25h        Размер открытого FCB

 

      Примечания:

 

      1.  "Неоткрытый"  FCB  состоит  из  полей  Drv,  FileName и

 FileExt плюс память под  остальные поля. "Открытый" FCB содержит

 информацию о файле во всех указанных полях.

 

      2. Номер диска до открытия: 0 = текущий диск, 1=A, 2=B, ...

 Номер диска после открытия: 1=A, 2=B, ...

 

      3. Имя файла (от 1 до 8 символов) и тип файла (0-3 символа)

 должны  быть  выравнены  по   левому  краю  и  дополнены  справа

 пробелами.

 

      4. Длина блока файла равна 80h (=128) байтов. Поэтому номер

 записи 1 блока может варьироваться от 0 до 7Fh (=127).


 

      5. Длина  поля RandomRec равна  4, если размер  записи < 64

 байтов, и 3 в противном случае.

 

      6.  Все  функции,  работающие  с  FCB,  могут  работать и с

 расширенным  FCB. При  этом адрес  FCB должен  быть тем же; если

 байт в FCB-7 равен FFh, то FCB считается расширенным.

 

      7. Рaсширенный FCB применяется  для задания атрибута файла,

 который  Вы  открываете,  переименовываете  или ищете. Структура

 байта атрибутов файла приведена в 3.4.

 

      См. также: Структура каталога.

Вы находитесь в разделе: 
Также вам будет интересно:

Добавить коментарий