при обращении к функциям минимальная граница больше максимальной, границы меняются местами. Границы, задаваемые этими функциями, могут превышать реальное разрешение экрана. В этом случае указатель будет исчезать, если виртуальные координаты мыши выходят за границы экрана.

Задать форму указателя для графического режима

Вход: АХ = 9

ВХ — положение координатной точки от левого края изображения;

СХ — положение координатной точки от верхнего края

изображения;

ES:DX — адрес битового поля [ES — сегментная часть адреса). Функция $09 определяет форму графического указателя. По умолчанию этот указатель имеет вид стрелки, ориентированной слева—направо и снизу вверх, причем координатная точка указателя соответствует острию стрелки. Программа может с помощью этой функции задать другую форму указателя. При обращении к функции регистры ES:DX должны содержать адрес 64—байтного массива, который трактуется следующим образом. Первые 16 двухбайтных слов рассматриваются как битовая маска 16х16, каждый бит которой маскирует пикселы экрана (эти байты называются маской экрана); вторые 16 слов — матрица 16х16 бит для формирования изображения указателя (маска изображения). Размер указателя на графическом экране всегда составляет 16х16 пиксел. При создании изображения драйвер предварительно получает информацию о 16х16 пикселах соответствующего места экрана и к каждому пикселу применяется операция AND с маской экрана, а затем к полученному результату — операция XOR с маской изображения. Например, если маска экрана содержит одни нули, на экране будет вырезан пустой прямоугольник 16х16 пиксел и в него без изменения помещается маска изображения — это вариант «непрозрачного» указателя. Наоборот, если маска экрана состоит из битовых единиц (слова со значением $FFFF), изображение указателя взаимодействует с экранным изображением в режиме XORPut («прозрачный» указатель). Расположение сформированного указателя относительно виртуальных координат мыши определяется смещением координатной точки относительно левого и верхнего краев маски экрана. Если, например, ВХ = СХ = 0, координатная точка соответствует левому верхнему углу маски, поэтому изображение указателя размещается правее и ниже виртуальных координат указателя, если ВХ == СХ = 8, координатная точка соответствует центру изображения.

Задать форму указателя для текстового режима

Вход: АХ == $ОА;

ВХ — флаг указателя:

О — программное управление формой;

1 — аппаратное управление формой;

СХ — маска экрана для ВХ=0 или верхняя строка развертки дляВХ=1;

DX — маска указателя для ВХ=0 или нижняя строка развертки