- •Лабораторная работа № 1.
- •Функция 0ен
- •Функция 1ан
- •Функция 2fh
- •Функция 36н Определяет параметры диска
- •Функция 39н
- •Функция 3ан Удаляет каталог с диска
- •Функция 3вн Меняет текущий каталог на заданный
- •Функция 3сн Создаёт хендл (новый файл) на диске
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 2
- •Функция 00н
- •Функция 01н
- •Функция 02н
- •Функция 03н
- •Функция 04н
- •Флаг переноса установлен
- •Функция 05н
- •Пример выполнения работы
- •Порядок выполнения работы
- •Варианты заданий. Не использовать функции dos !!!.
- •Вопросы по теме работы.
- •Приложение а. Функция disk_status
- •Приложение в. Параметры 360к дискеты.
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4
- •Основные сведения
- •Функция 00h
- •Функция 01h
- •Функция 02h
- •Система команд матричного принтера
- •Система команд принтера фирмы Epson.
- •Команды форматирования текста
- •Команды печати графических изображений.
- •Пример выполнения работы.
- •Порядок выполнения работы
- •Варианты заданий.
- •Контрольные вопросы
- •Лабораторная работа № 5 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
- •Лабораторная работа № 6 Работа с драйвером мыши.
- •Обращение к драйверу мыши из ассемблера
- •Функции драйвера мыши.
- •Функция 00h
- •Показать курсор
- •Функция 06н
- •Функция 07h
- •Функция 08h
- •Функция 09h
- •Функция 0Ah
- •Функция 0Bh
- •Функция 0Сh
- •Функция 0Dh
- •Функция 0Eh
- •Функция 0Fh
- •Функция 10h
- •Функция 13h
- •Функция 15h
- •Функция 16h
- •Функция 17h
- •Функция 18h
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Функция 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 (подкаталог).
Функция 47н
Получает текущий каталог на указанном диске
*Вход:
АН = 47Н
DL - номер дисковода ( 0 - текущий, 1 - А и т.д. )
DS:SI - указатель на 64-байтовый участок памяти
*Выход:
Флаг переноса установлен:
АХ = 15 - несуществующий номер дисковода
Флаг переноса сброшен: нет ошибок
*Примечание.
В память по смещению SI записывается строковая переменная текущего подкаталога.
Функция 4ен
Находит первый файл на диске
Вход:
АН = 4ЕН
СХ - атрибуты
DS:DX - указатель на маршрут
*Выход:
Флаг переноса установлен:
АХ = 2 - файл не найден
= 3 - маршрут не найден
= 18 - нет больше файлов
Флаг переноса сброшен: нет ошибок
*Примечание.
Функция 4Eh ищет в текущем или указанном каталоге первый вход (файл), удовлетворяющий указанным условиям. Для просмотра всех входов укажите СХ = 16h. Если функция находит каталоговый вход, удовлетворяющий имени и атрибуту, она заполняет текущий буфер обмена с диском ( DTA) значениями указанными в следующей таблице.
Значения DTA после функции 4Eh
Смещение |
Длина |
Описание |
00h |
21 |
Зарезервировано для последующей функции 4Fh (Найти следующий файл) |
15h |
1 |
Найденный атрибут |
16h |
2 |
Время последней записи в файл |
18h |
2 |
Дата последней записи в файл |
lAh |
2 |
Младшее слово размера файла |
ICh |
2 |
Старшее слово размера файла |
lEh |
13 |
Имя и расширение файла, заканчивающееся байтом 0. |
В маршруте можно указывать символы заполнители * и ? для имени файла.