Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 384; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.148.145.219 (0.007 с.) |