- •1 Строчка текущая директория; начиная с 3 список папок и файлов текущей директории.
- •Прерывание 33h, функция 0003h: получить информацию о положении курсора и состоянии кнопок мыши
- •Прерывание 33h, функция 0006h: получить информацию об отпусканиях кнопок мыши
- •Прерывание 33h, функция 0007h: задать горизонтальный диапазон перемещения курсора
Прерывание 33h, функция 0003h: получить информацию о положении курсора и состоянии кнопок мыши
Функция 0003h позволяет определить текущее состояние кнопок мыши и текущее положение курсора. При вызове функции в регистр АХ должен быть помещен код 0003h.
После выполнения функции в регистрах будет возвращена следующая информация:
• в ВХ — текущее состояние кнопок мыши (бит 0 — состояние левой кнопки, бит 1 — состояние правой кнопки, бит 2 — состояние средней кнопки);
• в СХ — горизонтальная координата курсора (X);
• в DX — вертикальная координата курсора (Y).
Если кнопка мыши нажата, значение соответствующего бита регистра ВХ будет установлено в 1, если отпущена — в 0.
Серьезный недостаток данной функции заключается в том, что невозможно определить, была ли нажата (отпущена) кнопка мыши в текущей позиции курсора, или это произошло ранее в другом месте экрана. Поэтому функция 0003h применяется только в графических видеорежимах — в подпрограмме, отвечающей за перемещение курсора по экрану. Для получения более точной информации о нажатиях и отпусканиях кнопок мыши используются функции 0005h и 0006h.
Прерывание 33h, функция 0004h: установить новое положение курсора
Функция 0004h позволяет изменить положение курсора на экране по команде из программы.
При вызове функции в регистры должна быть занесена следующая информация:
• в АХ — код 0004h;
• в СХ — горизонтальная координата курсора (X);
• в DX — вертикальная координата курсора (Y).
Выходных параметров функция не имеет.
Положение координаты задается в пикселях относительно левого верхнего угла экрана, причем предполагается, что ось Y направлена сверху вниз.
Прерывание 33h, функция 0005h: получить информацию о нажатиях кнопок мыши
Функция 0005h позволяет получить текущее состояние всех кнопок мыши, а также определить, была ли нажата заданная кнопка, сколько раз ее нажимали с момента последнего опроса и в какой позиции экрана было осуществлено последнее нажатие.
При вызове функции в регистры должна быть занесена следующая информация:
• в АХ — код 0005h;
• в ВХ — номер кнопки, которую требуется опросить (0 — правая кнопка, 1 — левая кнопка, 2 — средняя кнопка).
После выполнения функции в регистрах будет возвращена следующая информация:
• в АХ — текущее состояние кнопок мыши (бит 0 — состояние левой кнопки, бит 1 — состояние правой кнопки, бит 2 — состояние средней кнопки);
• в ВХ — число нажатий на указанную кнопку с момента последнего вызова данной функции для данной кнопки;
• в СХ — горизонтальная координата курсора (X) в момент последнего нажатия указанной кнопки;
• в DX — вертикальная координата курсора (Y) в момент последнего нажатия указанной кнопки.
Прерывание 33h, функция 0006h: получить информацию об отпусканиях кнопок мыши
Функция 0006h позволяет получить текущее состояние всех кнопок мыши, а также определить, имело ли место отпускание заданной кнопки, сколько раз ее отпускали с момента последнего опроса, и в какой позиции экрана было осуществлено последнее отпускание.
При вызове функции в регистры должна быть занесена следующая информация:
• в АХ — код 0006h;
• в ВХ — номер кнопки, которую требуется опросить (0 — правая кнопка, 1 — левая кнопка, 2 — средняя кнопка).
После выполнения функции в регистрах будет возвращена следующая информация:
• в AX — текущее состояние кнопок мыши (бит 0 — состояние левой кнопки, бит 1 — состояние правой кнопки, бит 2 — состояние средней кнопки);
• в ВХ — число отпусканий указанной кнопки с момента последнего вызова данной функции для данной кнопки;
• в СХ — горизонтальная координата курсора (X) в момент последнего отпускания указанной кнопки;
• в DX — вертикальная координата курсора (Y) в момент последнего отпускания указанной кнопки.