Иллюстрированный самоучитель по задачам и примерам Assembler

Получение и изменение атрибутов файла

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.