Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota_2_semestr.doc
Скачиваний:
9
Добавлен:
19.05.2015
Размер:
445.95 Кб
Скачать

Функция 3dн Открывает хендл (открывает файл) на диске

*Вход:

АН=3DН

AL=2 – код доступа

DS:DX – указатель на маршрут

*Выход:

Флаг переноса установлен:

АХ=2 – файл не найден

=3 – маршрут не найден

=4 – слишком много открытых файлов

=5 – нет доступа

=12 – неразрешённый доступ

Флаг переноса сброшен:

АХ – хендл

*Примечание.

DX должен содержать смещение строки, указывающей маршрут подкаталога. Маршрут представляет собой строковую переменную, задающую маршрут и имя файла и завершающий нуль, например,

path_1 db”a:\user1\lab0.txt”,0.

Функция открывает любые файлы, в том числе скрытые, для ввода/вывода.

Функция 3ен

Закрывает хендл ( закрывает файл ) на диске

*Вход:

АН = ЗЕН

ВХ - хендл

*Выход:

Флаг переноса установлен:

АХ = 6 - несуществующий хендл

Флаг переноса сброшен: нет ошибок

*Примечание.

Функция закрывает любые файлы, открытые фун­кцией 3Dh.

Функция 3fh

Читает хендл ( читает файл ) с диска

*Вход:

АН == 3FH

ВХ - хендл

СХ - количество байтов для чтения

DS:DX - указатель на буфер

*Выход:

Флаг переноса установлен:

АХ = 5 - нет доступа

= 6 - несуществующий хендл

Флаг переноса сброшен:

АХ - прочитано байт

Функция 40н

Записывает в хендл ( записывает в файл ) на диск

*Вход:

АН = 40Н

ВХ - хендл

СХ - количество байт для записи

DS:DX - указатель на буфер

*Выход:

Флаг переноса установлен:

АХ = 5 - нет доступа

= б - несуществующий хендл

Флаг переноса сброшен:

АХ - записано байт

*Примечание.

Запись в файл производится с текущей позиции указателя файла ( установку указателя файла см. функцию 42h ). Необходимо проверять содержимое АХ после выполнения операции записи. Если оно меньше заданной величины, то произошла ошибка, даже если сброшен флаг переноса.

Функция 41н

Удаляет каталоговый вход ( удаляет файл с диска )

*Вход:

АН = 41Н

DS:DX - указатель на маршрут

*Выход:

Флаг переноса установлен:

АХ = 2 - файл не найден

= 3 - маршрут не найден

= 5 - нет доступа

Флаг переноса сброшен: нет ошибок

* Примечание.

Удаляет файл с диска. В маршруте нельзя указы­вать символы заполнители * и ? для имени файла. DX должен содержать смещение строки, указывающей маршрут удаляемого файла. Маршрут представляет собой строковую переменную, задающую маршрут и завершающий нуль, например,

path_l db "a:\userl\alfa.txt",0.

Файл удаляется, если его атрибуты не "только для чтения", в противном случае устанавливается флаг переноса. Для удаления файла с атрибутами "только для чтения", надо сбросить атрибут в 0 функцией 43h.

Функция 42н

Сдвигает указатель файла

*Вход: АН =42H

AL - метод сдвига

Указатель перемещается на

AL = 0 начало файла + смещение

= 1 текущую позицию + смещение

= 2 конец файла + смещение

ВХ - хендл

CX:DX - расстояние в байтах ( смещение )

*Выход:

Флаг переноса установлен:

АХ = 1 - несуществующий сдвиг

= 6 - несуществующий хендл

Флаг переноса сброшен:

DX:AX - новое положение указателя

Функция 43h

Получает/устанавливает атрибуты файла

*Вход:

АН = 43Н

AL = 0 - получить атрибуты

= 1 - установить атрибуты

СХ (если AL = 1) - атрибуты файла

DS:DX - указатель на маршрут

*Выход:

Флаг переноса установлен:

АХ =1 - несуществующая функция

= 2 - файл не найден

= 3 - маршрут не найден

= 5 - нет доступа

Флаг переноса сброшен:

СХ - байт атрибута ( если AL = О )

*Примечание.

Регистр DX должен содержать смещение строки, указыва­ющей маршрут файла. Невозможно изменить атри­бут 10h (подкаталог).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]