Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Получить/изменить дату и время создания или модификации файла можно с помощью подфункций функции 57h.Содержание книги
Поиск на нашем сайте Вход: АХ = 5700h; ВХ = дескриптор файла. Выход: Если CF = 0: СХ = время, DX = дата. Если CF = 1: АХ = код ошибки (CF = п. 1 — недопустимый номер подфункции в А1; 6 — недопустимый дескриптор. Время и дата файла получаются в следующих форматах.
Установить дату и время создания или последней модификации файла Вход: АХ = 5701h; ВХ - дескриптор файла; СХ - новое время, DX = новая дата. Выход: Если CF = 0: СХ = время, DX = дата. Если CF = 1 — АХ = код ошибки: 1 — недопустимый номер подфункции в Аl; 6 — недопустимый дескриптор. Изменение характеристик файлов Рассмотрим в качестве примера программу задания даты и времени создания файла (пример 13.4). Пример 7. Назначение файлу даты и времени создания. ;В сегменте команд ;---------------------------Откроем файл --------------------------------- mov AH,3Dh; Функция открытия файла mov AL,2 mov DX,offset fname; Адрес имени файла int 21h mov handle,ax; Получили дескриптор ;---------------Изменим дату и время создания файла --------------- mov ah,57h; Функция даты/времени mov al,1; Установить дату/время mov bx,handle; Дескриптор файла mov сх.,0; очистим Сх or cx,sec; добавим секунды cx=0000 0000 0000 0110 or cx,min; добавим минуты cx=0000 0001 1110 0110 or cx,hour;добавим часы cx=0110 0001 1110 0110 xor dx,dx; очистим dx or dx,day; добавим день or dx,month;добавим месяц or dx,year; добавим год int 21h ;В сегменте данных handle dw 0; ячейка для дескриптора fname db ‘MYFILE.TXT’,0; имя файла sec dw 6; 6 секунд = 110 min dw 15*32; 15 минут =1111 => 001111 00110 hour dw 12*2048; 12 часов =1100 => 01100 001111 00110 day dw 10; 10 число month dw 3*32; март year dw 21*512 21 год от 1980, то есть 2001 г.
Для установки даты и времени создания файла используется функция 5701h. Она требует указания даты (в регистре DX) и времени (в регистре СХ) в том же формате, в котором эти данные хранятся в элементе каталога. Сдвиг составляющих даты/времени в соответствующие места осуществляется с помощью команд умножения на этапе трансляции. Например, для сдвига числа минут в группу битов 5... 10 число необходимо умножить на 25=32. Переименование имеющегося файла Для переименования имеющегося файла предусмотрена функция 56h. Она требует указания двух спецификаций файла - исходной, чтобы можно было его найти, и новой, присваиваемой файлу. Если в обеих спецификациях указан один и тот же путь к файлу (или имеется только имя файла), осуществляется его переименование; если же пути различаются, функция выполняет перенос файла в другой каталог. Перенос файла в другой каталог не требует копирования файла на другое место диска; файл остается на том же месте, изменяются только записи об этом файле в каталогах. Адрес исходной спецификации должен содержаться в регистрах DS:DX; адрес новой спецификации - в регистрах ES:DI.
Пример 8. Переименование файла ; В сегменте команд push DS; Настроим ES на pop ES;наш сегмент данных mov AH,56h;Функция переименования mov DX,offset fname1;Исходная спецификация mov DI,offset fname2;Новая спецификация int 21h ;B сегменте данных fnamel db 'myfile.txt',0 fname2 db 'myfile0l.txt',0
На самом низком уровне каталог — тот же файл, в атрибуте которого бит 4 установлен в 1 и который содержит список имен вложенных файлов, их атрибутов и физических адресов на диске. Создать каталог Функция DOS 39h — Создать каталог Ввод: АН = 39h DS:DX = адрес ASCIZ-строки с путем, в котором все каталоги, кроме последнего, существуют. Вывод: CF = 0, если каталог создан CF = 1 и АХ = 3, если путь не найден, 5 — если доступ запрещен
Удалить каталог Функция DOS 3Ah — Удалить каталог Ввод: АН = 3Ah DS:DX = адрес ASCIZ-строки с путем, последний каталог в котором будет удален (только если он пустой, не является текущим) Вывод: CF = 0, если каталог удален CF = 1 и АХ = 3, если путь не найден, 5 — если доступ запрещен, 10h — если удаляемый каталог — текущий Определить текущий каталог Функция DOS 47h — Определить текущий каталог Ввод: АН = 47h DL = номер диска (00h — текущий, 01h — А: и т.д.) DS:SI = 64-байтный буфер для текущего пути (ASCIZ-строка без имени диска, первого и последнего символа «\») Вывод: CF = 0 и АХ = 0100h, если операция выполнена CF = 1 и АХ = 0Fh, если указан несуществующий диск
Перечень функций прерывания 21h, работающих с файлами, которые имеют длинные имена и соответствующие функции API Win32.
Перечислим функции API Win32, имеющие отношение к работе с файловой системой.
Получение атрибутов файлов
|
||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-09-13; просмотров: 534; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.009 с.) |