Сборник по задачам и примерам Assembler

     

Получить атрибуты файла



Получить атрибуты файла

Вход: АХ = 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 Только чтение



Получить атрибуты файла

Вход: АХ ¦ 7143h; BX = действие:

0 -- получить атрибуты, на выходе СХ = атрибуты файла: 0000h — файл доступен по записи и чтению; 0001h — файл доступен по чтению; 0002h — скрытый файл; 0004И — системный файл; 0008h — метка тома; 00lOh — каталог; 0020h — архивный файл;

2 — получить размер сжатого файла — на выходе DX:AX = размер сжатого файла в байтах на диске;

4 — получить дату и время последней записи — на выходе; СХ = время в формате: 0..4 = секунды, деленные на 2; 5.. 10 = минуты (0..59); 11..15 = часы(0..23);

DI дата в формате: 0..4 = день месяца (1..31); 5..8 = месяц (1..12); 9..15 = число лет с 1980 года;

6 — получить дату последнего доступа — на выходе: DI = дата в формате (см. ВХ = 4);

8 — получить дату и время создания — на выходе СХ - время в формате, DI - дата в формате (см. ВХ « 4), SI = двоичное значение количества 10-миллисекундных интервалов, добавляемых ко времени MS DOS в диапазоне 0..199;

DS:DX — ASCIZ-строка с именем (путем) файла.

Выход: CF = 0 в случае успеха, информация в регистрах определяется значением ВХ на входе (см. выше):

АХ = код ошибки (CF = 1): 1 — неверное значение в AL; 2 — файл не найден; 3 — несуществующий путь; 5 — доступ запрещен.



Содержание раздела