![](/user_photo/2706_HbeT2.jpg)
- •1 Строчка текущая директория; начиная с 3 список папок и файлов текущей директории.
- •Прерывание 33h, функция 0003h: получить информацию о положении курсора и состоянии кнопок мыши
- •Прерывание 33h, функция 0006h: получить информацию об отпусканиях кнопок мыши
- •Прерывание 33h, функция 0007h: задать горизонтальный диапазон перемещения курсора
Прерывание 33h, функция 0007h: задать горизонтальный диапазон перемещения курсора
Функция 0007h служит для ограничения пределов горизонтального перемещения курсора.
При вызове функции в регистры должна быть занесена следующая информация:
• в AX — код 0007h;
• в СХ — координата левой границы перемещения курсора (Хmin);
• в DX — координата правой границы перемещения курсора (Хmax). Выходных параметров функция не имеет.
Функция 0007h используется совместно с функцией для задания на экране рабочего окна, за пределы которого не должен выходить курсор мыши. В простейшем случае функция применяется, чтобы предотвратить уход части изображения графического курсора за границу экрана.
Прерывание 33h, функция 0008h: задать вертикальный диапазон перемещения курсора
Функция 0008h служит для ограничения пределов вертикального перемещения
курсора.
При вызове функции в регистры должна быть занесена следующая информация:
• в AX — код 0008h;
• в СХ — координата верхней границы перемещения курсора (Ymin);
• в DX — координата нижней границы перемещения курсора (Ymax). Выходных параметров функция не имеет.
Как и функция 0007h, данная функция чаще всего применяется, чтобы предотвратить уход части изображения курсора за границу экрана.
Прерывание 33h, функция 000Ch: задать подпрограмму пользователя к обработчику прерывания мыши
Функция 000Ch позволяет пользователю установить собственный обработчик прерывания мыши (что и требуется в данной лабораторной работе).
При вызове функции в регистры должна быть занесена следующая информация:
• в АХ — код 000Ch;
• в СХ — маска условий вызова;
• в ES:DX — дальний указатель на подключаемую подпрограмму пользователя. Выходных параметров функция не имеет.
При вызове подпрограммы драйвер передает ей параметры через регистры. В регистрах будут размещены следующие значения:
• в АХ — маска условий вызова;
• в ВХ — текущее состояние кнопок мыши (бит 0 — состояние левой кнопки, бит 1 — состояние правой кнопки, бит 2 — состояние средней кнопки);
• в СХ — горизонтальная координата курсора (X);
• в DX — вертикальная координата курсора (Y);
• в SI — горизонтальный отсчет (микки);
• в DI — вертикальный отсчет (микки);
• в DS — сегмент данных драйвера мыши.
Разряды маски условий вызова имеют следующее назначение (если разряд установлен в 1, то выполняется соответствующее действие):
• бит 0 — вызывать подпрограмму пользователя в случае перемещения мыши;
• бит 1 — вызывать подпрограмму пользователя при нажатии левой кнопки;
• бит 2 — вызывать подпрограмму пользователя при отпускании левой кнопки;
• бит 3 — вызывать подпрограмму пользователя при нажатии правой кнопки;
• бит 4 — вызывать подпрограмму пользователя при отпускании правой кнопки;
• бит 5 — вызывать подпрограмму пользователя при нажатии средней кнопки;
• бит 6 — вызывать подпрограмму пользователя при отпускании средней кнопки;
• биты 7-15 — зарезервированы.
Прерывание 33h, функция 000Fh: изменить чувствительность мыши к перемещению
Функция 000Fh позволяет управлять чувствительностью мыши. При вызове функции в регистры должна быть занесена следующая информация:
• в АХ — код 000Fh;
• в СХ — число микки на 8 пикселей по горизонтали (по умолчанию 8);
• в DX — число микки на 8 пикселей по вертикали (по умолчанию 16).
Выходных параметров функция не имеет.
Прерывание 33h, функция 0013h: задать порог удвоения скорости
Функция 0013h позволяет изменить порог удвоения скорости перемещения мыши. Если скорость перемещения мыши превышает заданный порог, то скорость перемещения по экрану удваивается.
При вызове функции в регистры должна быть занесена следующая информация:
• в АХ — код 0013h;
• в DX — пороговая скорость в микки/с (по умолчанию равна 64 микки/с).
Выходных параметров функция не имеет.