Работа с файлами в программах на ассемблере
Программа на ассемблере
Очевидно, целесообразно рассматривать прикладную систему как некоторую совокупность данных и операций, определенных па этих данных, а не просто как набор программ, взаимодействующих между собой посредством обмена данными.Работа с файлами в MS DOS (имена 8.3). Создание, открытие, закрытие и удаление файла.
В основе файловой системы MS DOS лежит древовидная структура каталогов. Корень этой структуры представляет собой совокупность ограниченного числа дескрипторов, описывающих файлы и каталоги (подкаталоги) следующего уровня.Чтение, запись, позиционирование в файле
При работе с материалом данного раздела помните, что функции чтения и записи можно использовать не только с дескрипторами заранее открытых файлов, но и с дескрипторами стандартных устройств. Эти дескрипторы имеют постоянное значение и доступны в любое время функционирования системы:Получение и изменение атрибутов файла
MS DOS позволяет получить для анализа и при необходимости изменить имя файла, байт атрибутов файла, время и дату его последней модификации в элементе каталога, соответствующего этому файлу. Для этого предназначены функции 43h, 56h, 57h.Работа с дисками, каталогами и организация поиска файлов
Задача поиска традиционно является актуальной. При рассмотрении вопроса работы с файлами ее также не обойти. Мы рассмотрим номенклатуру средств, предлагаемых MS DOS для поиска файла и определения его местоположения в древовидной структуре каталогов текущего диска.Работа с файлами в MS DOS (длинные имена)
Перечисленные выше функции работают в различных версиях "чистой" системы MS DOS, вплоть до версии 6.22 включительно. Операционные системы Windows 95/98/Mil также поддерживают свою версию MS DOS, которая имеет номер 7.0.Создание, открытие, закрытие и удаление файла. Атрибуты файла.
Функции MS DOS, поддерживающие длинные имена файлов, имеют номера из четырех цифр – первые две равны 71h, последние две соответствуют номеру аналогичной старой функции MS DOS. В программах старые и новые функции применяются вместе по принципу: там, где функция должна работать непосредственно с длинными именами файлов и каталогов, применяются новые функции;Работа с дисками, каталогами и организация поиска файлов
Получить информацию о томе | Вход: АН = 71A0h; | DS:DX – адрес ASCIZ-строки с именем корневого каталога диска, о котором необходимо получить информацию (С:\); | ES:DI – адрес буфера, в который будет помещена ASCIZ-строка с именем файловой системы;Файловый ввод-вывод в Win32
В этом разделе будут приведены минимальные сведения, необходимые для выполнения простых операций с файлами. В отличие от MS DOS среда Win32 способна поддерживать несколько файловых систем. Главные требования к этим системам – иерархичность и соблюдение определенных правил присвоения имен каталогам и файлам. | Перечислим функции API Win32, имеющие отношение к работе с файловой системой.Создание, открытие, закрытие и удаление файла
Создание и открытие файла в Win32 производится одной функцией CreateFile. | HANDLE CreateFile (LPCTSTR ipFileName, DWORD dwDesiredAccess. | DWORD dwShareMode. LPSECURITY_ATTRIBUTES ipSecurityAttributes, | DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes.Чтение, запись, позиционирование в файле
Необходимо сразу отметить, что Win32 допускает два режима доступа к файлу – синхронный и асинхронный. Необходимость введения этих двух режимов в архитектуру Win32 вызвано тем, что файловый ввод-вывод относится к наиболее медленным операциям и способен значительно ухудшить впечатление от компьютера с хорошей центральной частью (процессором и материнской платой) и плохой дисковой подсистемой.Получение и изменение атрибутов файла
Аналогично группе функций MS DOS для работы с файловой системой файловая подсистема Win32 содержит ряд функций, с помощью которых можно определить характеристики конкретного файла. | Начальные значения атрибутов файла назначаются при создании файла.Работа с дисками, каталогами и организация поиска файлов
Win32 располагает большим набором функций для получения информации о структуре файловой системы конкретного компьютера. Часть этих функций развивает идеи работы с файловой подсистемой, появившиеся в последних версиях WAS DOS. Другие функции являются уникальными для платформы Win32.