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 — доступ запрещен.