- •Лабораторная работа № 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
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Лабораторная работа № 6 Работа с драйвером мыши.
«Мышь» является одним из периферийных устройств ПЭВМ и в данный момент стала практически его неотъемлемой частью. Для работы с «мышью» применяются загружаемые драйверы устройства «мышь». Все такие драйверы следуют единому стандарту, определенному фирмой Microsoft для ее драйвера MOUSE.СОМ в документе «Mouse User's Guide». Точнее говоря, эти драйверы обязаны поддерживать определенный набор функций, но, помимо того, они могут иметь и дополнительные возможности. Мы рассмотрим только те функции которые поддерживаются драйвером фирмы Microsoft.
Обмен с драйвером мыши осуществляется обращением к Int 33h; параметры функций задаются в регистрах АХ, ВХ, СХ и DX. Прежде чем вызывать функции драйвера, прикладная программа должна проверить, что драйвер мыши установлен. Для этого она должна выполнить следующие действия:
— прочитать содержимое вектора Int 33h (адрес 0:0CCh); если он равен 0:0 или указывает на команду IRET, то драйвер не установлен;
— если содержимое вектора отлично от нуля, то вызвать функция 00h; если эта функция вернет АХ=-1, то драйвер установлен и мышь инициализирована.
Доступ к драйверу мыши посредством Int 33h может использоваться как ассемблерными программами, так и программами, написанными на языках высокого уровня, например, на Бейсике, Си, Паскале, Фортране или Коболе.
Замечания.
Программа работающая с мышью , должна учитывать следующие требования:
1. Если программа перехватывает Int 10h, то она должна гарантировать, что функция 00h (сменить видеорежим) будет отработана драйвером мыши
2. Драйвер мыши гарантирует правильность работы с экраном, если Ваша программа осуществляет вывод на экран через Int 10h или через ДОС. Если же вывод производится прямой записью в видеопамять, то программа должна вызвать функцию 02h (скрыть курсор) перед выводом и функцию 01h (показать курсор) после вывода.
3. Вы можете работать с мышью двумя способами:
Явно вызывая Int 33h или задав свою программу обработки событий. В последнем случае драйвер будет вызывать Вашу подпрограмму всякий раз, когда произойдет заданное событие (см. функцию 0Ch).
Обращение к драйверу мыши из ассемблера
Для обращения к драйверу мыши из программы на языке ассемблера необходимо:
— загрузить в регистры АХ, ВХ, СХ и DX необходимые параметры;
— вызвать Int 33h;
проанализировать результаты, возвращенные в регистрах.
Следующий пример устанавливает курсор в позицию экрана (150, 100):
mov AX,4 ; номер функции
mov CX,150 : горизонтальная координата
mov DX,100 ; вертикальная координата
int 33h ; обращение к драйверу мыши.
Функции драйвера мыши.
Драйвер мыши поддерживает следующие функции:
Функция |
Назначение |
00h |
Инициализация мыши |
01h |
Показать курсор |
02h |
Скрыть курсор |
03h |
Читать положение мыши и состояние кнопок |
04h |
Задать положение мыши |
05h |
Получить информацию о нажатии кнопки |
06h |
Получить информацию об отпускании кнопки |
07h |
Задать горизонтальный диапазон |
08h |
Задать вертикальный диапазон |
09h |
Определить графический курсор |
0Ah |
Определить текстовый курсор |
0Bh |
Получить перемещение мыши |
0Ch |
Задать программу обработки событий |
0Dh |
Включить эмуляцию светового пера |
0Eh |
Выключить эмуляцию светового пера |
0Fh |
Задать чувствительность мыши |
10h |
Запретить вывод курсора в области экрана |
13h |
Задать порог двойной скорости |
15h |
Получить размер буфера сохранения |
16h |
Сохранить состояние мыши |
17h |
Восстановить состояние мыши |
18h |
Задать альтернативную программу обработки событий |