Получение и изменение атрибутов файла
MS DOS позволяет получить для анализа и при необходимости изменить имя файла, байт атрибутов файла, время и дату его последней модификации в элементе каталога, соответствующего этому файлу. Для этого предназначены функции 43h, 56h, 57h. Подфункция 00 функции 43h прерывания 21h предназначена для получения слова атрибутов файла.
Получить атрибуты файла
Вход: АХ = 4300h; DS:DX – ASCIZ-строка с именем (путем) файла.
Выход: CF = 0 – СХ = слово атрибутов файла; CF = 1 – АХ = код ошибки: 1 – неверное значение в AL; 2 – файл не найден; 3 – несуществующий путь; 5 – доступ запрещен.
:prg07_12.asm – программа демонстрации получения атрибутов файла. .data fname db "maket.asm". point_fname dd fname .code :----…..получим атрибуты файла-----------------……..- Ids dx.point_fname:формируем указатель на строку string movax.4300h ;номер функции DOS int 21h jc exit:переход в случае ошибки:в сх атрибуты (см. ниже)
Напомним формат байта атрибутов:
Биты | Описание |
---|---|
7 | Разделяемый в Novell NetWare |
6 | Не используется |
5 | Архивный |
4 | Каталог |
3 | Метка тома (только исполнение Novell NetWare) |
2 | Системный |
1 | Скрытый |
0 | Только чтение |
Установить атрибуты файла
Подфункция 01 функции 43h прерывания 21h предназначена для установления слова атрибутов файла.
Вход: АХ = 4301п; СХ = новое слово атрибутов файла; DS:DX – ASCIZ-строка с именем (путем) файла.
Выход: CF = 0 – АХ = не определен; CF = 1 – АХ = код ошибки: 1 – неверное значение в AL; 2 – файл не найден; 3 – несуществующий путь; 5 – доступ запрещен.