Управление файловой и каталоговой системами в DOS.
Основные сведения.
Программные прерывания и системные вызовы.
В данной работе будут описаны функции прерывания DOS 21H и прерывания 25h, 26h, относящиеся к работе с дисками. Хендлом (handle) или логическим номером файла называется 16 – битовый номер, возвращаемый DOS при открытии файла. При дальнейших действиях система пользуется для идентификации только этим хендлом. В ранних версиях DOS при работе с файловой системой может встретиться понятие управляющего блока файла (fcb), который представляет собой буфер, для записи основных данных о файле при его открытии. Этот буфер, находился в программе, которая открывала файл. Хендл полностью заменяет fcb и требует для хранения всего одно слово. Каждому файлу ставится в соответствие набор атрибутов, определяющих поведение функции.
Атрибуты файла.
| Код
| Описание
|
| 00h
| Нормальный, можно читать и записывать без ограничений.
|
| 01h
| Только для чтения, не может быть открыт для записи.
|
| 02h
| Скрытый, не может найден поиском в каталоге.
|
| 04h
| Системный, не может быть найден поиском в каталоге.
|
| 10h
| Подкаталог.
|
| 20h
| Архив, устанавливается сразу после изменения файла.
|
Описание функции работы с дисками прерывания DOS 21H.
Для вызова функции прерывания DOS 21H необходимо проделать следующие действия:
- выбрать функцию, выполняющую требуемые действия;
- занести номер функции в регистр АН;
- подготовить другие регистры (если это необходимо);
- написать команду INT 21H;
- прочесть результаты или состояние из регистров, указанных в описании данной функции.
Ниже следует описание функции 21H.