Для переименования файла используется функция 56h.
Вход: АН = 56h; DS:DX — ASCIZ-имя существующего файла; ES:DI — ASCIZ-имя
нового файла; CL = маска атрибутов.
Выход: CF = 0 — при успешном переименовании; CF = 1 — АХ = код
ошибки: 2 — файл не найден; 3 — несуществующий путь; 5 — доступ
запрещен; 1 lh — устройства для старого и нового файлов не совпадают.
Функция 56h позволяет произвести перемещение между каталогами, не изменяя устройства.
;prg07_13.asm - программа перемещения между каталогами.
;не изменяя устройства функцией 56h.
¦
.data
fname_s db "maket.asm".О
point_fname_s dd fname_s
fname_d db "e:\maket.asm".0
point_fname_d dd fname_d
.code
;.....переместим файл из текущего в корневой каталог------
Ids dx.point_fname_s :формируем указатель на строку fname_s (исх. файл)
1 es di,point_fname_d ;формируем указатель на строку fname_d (целевой файл)
Imov ah.56h ;номер функции DOS int 21h
jc exit ;переход в случае ошибки
Получить дату и время создания или последней модификации файла
Получить/изменить дату и время создания или модификации файла можно с помощью подфункций функции 57h.
Вход: АХ = 5700h; ВХ = дескриптор файла.
Выход: если CF = 0: СХ = время, DX = дата. Если CF = 1: АХ = код
ошибки (CF = п. 1 — недопустимый номер подфункции в А1; 6 — недопустимый
дескриптор Время и дата файла получаются в следующих форматах.
Время | Дата | ||
---|---|---|---|
Биты | Описание | Биты | Описание |
15-11 | Часы (0-23) | 15-9 | Год |
10-5 | Минуты | 8-5 | Месяц |
4-0 | Секунды | 4-0 | День |
Установить дату и время создания или последней модификации файла
Вход: АХ = 5701п; ВХ - дескриптор файла; СХ - новое
время, DX = новая дата. Выход: если CF = 0: СХ = время, DX = дата. Если
CF = 1 — АХ = код ошибки: 1 — недопустимый номер подфункции в А1; 6 —
недопустимый дескриптор.
Работа с дисками, каталогами и организация поиска файлов
Задача поиска традиционно является актуальной. При рассмотрении
вопроса работы с файлами ее также не обойти. Мы рассмотрим номенклатуру
средств, предлагаемых MS DOS для поиска файла и определения его
местоположения в древовидной структуре каталогов текущего диска.
Во время работы с предыдущими программами вы заметили, что при
задании имен файлов мы практически не указывали имен дисководов и путей к
этим файлам. MS DOS имеет средства для установки текущего диска и
каталога, в котором выполняются все текущие операции с файлами. При
необходимости можно изменить текущий диск и каталог. Ниже приведено
несколько функций для работы с текущими диском и каталогом —
определение, изменение, получение информации.