- •Лабораторная работа № 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
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Функция 0Dh
Разрешить эмуляцию светового пера
*Вход: АХ = 0Dh
*Выход:
*Примечание.
Эта функция разрешает эмуляцию светового пера драйвером мыши. В этом случае запросы к световому перу получают в качестве ответа позицию курсора мыши и состояние ее кнопок: если все кнопки нажаты, триггер светового пера считается взведенным.
Функция 0Eh
Запретить эмуляцию светового пера
*Вход: АХ = 0Eh
*Выход:
*Примечание.
Эта функция запрещает эмуляцию светового пера драйвером мыши. В этом случае запросы к световому перу возвращают информацию только о световом пере.
Функция 0Fh
Задать чувствительность мыши
*Вход: АХ = 0Fh
СХ = горизонтальная чувствительность
DX = вертикальная чувствительность
*Выход:
*Примечание:
Задает чувствительность мыши, т. е. количество движений мыши на 8 пикселей экрана, по вертикали и горизонтали. Эти значения должны лежать в диапазоне от 1 до 32767.
Замечание. Одно движение мыши составляет 1/200 дюйма, т. е. примерно 0,126 мм.
Функция 10h
Запретить вывод курсора в области экрана
*Вход: АХ = 10h
Х = левая граница
DX = верхняя граница
SI = правая граница
DI = нижняя граница
*Выход:
*Примечание.
Эта функция позволяет определить прямоугольную область экрана, в пределах которой курсор мыши исчезает с экрана. Для отмены этого действия нужно вызвать функцию 01h.
Функция 13h
Задать порог двойной скорости
*Вход: АХ = 13h
DX = порог скорости в движениях мыши в секунду
*Выход:
*Примечание.
Задает предел, после которого скорость движения курсора по экрану удваивается. Для отмены двойной скорости нужно вызвать либо функцию 00h, либо эту функцию с BX=7FFFh.
Функция 15h
Получить размер буфера сохранения
*Вход: АХ = 15h
*Выход: ВХ = размер буфера
*Примечание.
Эта функция используется совместно с функциями 16h и 17h. Она возвращает размер буфера, необходимого для сохранения текущего состояния мыши.
Функция 16h
Сохранить состояние мыши
*Вход: АХ = 16h
ES:DX = адрес буфера сохранения
*Выход: ES:DS заполнен информацией драйвеpa мыши
*Примечание:
Эта функция восстанавливает ранее сохранённое состояние мыши из 6yфера пользовательской программы.
Функция 17h
Восстановить состояние мыши
*Вход: АХ = 17h
ES:DX = адрес буфера сохранения
*Выход:
*Примечание.
Эта функция восстанавливает ранее сохраненное состояние мыши из буфера пользовательской программы.
Функция 18h
Задать альтернативную программу обработки событий
*Вход: АХ = 18h
СХ = маска вызова
ES:DX == адрес программы обработки событии
*Выход:
*Примечание.
С помощью этой функции Вы можете подключить к драйверу мыши свою программу обработки некоторых событий. Маска вызова определяет, в каких ситуациях Ваша программа будет вызываться, и имеет вид (единичный бит означает, что соответствующее событие должно вызывать пользовательскую программу) рис. 2.
Подпрограмма обработки событий должна соблюдать два следующих соглашения о связях:
— на входе подпрограммы определены следующие регистры:
АХ = причина вызова подпрограммы в формате маски событий;
ВХ == состояние кнопок (см. Функцию 3);
СХ = горизонтальная позиция курсора;
DX == вертикальная позиция курсора;
SI = горизонтальное перемещение мыши;
DI = вертикальное перемещение мыши;
15–8 7 6 5 4 3 2 1 0
рис. 2.
7Fh – вызов при любом событии.
00h – отключения драйвера события.
— подпрограмма вызывается командой CALL FAR PTR и поэтому должна оканчиваться командой длинного возврата RETF.
Замечание.
Не забудьте перед завершением своей программы вызвать эту функцию с СХ=0, чтобы запустить пользовательскую обработку событий.
*Общее замечание:
Координаты мыши всегда возвращаются в применении для графического режима для получения координат в текстовом режиме надо возвращаемые значения поделить на 8.