- •Обработка прерываний
- •Обработка прерывания
- •Изменение вектора прерывания
- •Функция 35h
- •Дополнительные сведения о структуре doSиBios Прямое обращение к видеопамяти
- •Буфер клавиатуры
- •Пример выполнения работы
- •Варианты заданий
- •Вопросы по теме
- •Лабораторная работа № 2.
- •Функция 0ен
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
Функция 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 (подкаталог).