при обращении к функциям минимальная граница больше максимальной, границы меняются местами. Границы, задаваемые этими функциями, могут превышать реальное разрешение экрана. В этом случае указатель будет исчезать, если виртуальные координаты мыши выходят за границы экрана.
Задать форму указателя для графического режима
Вход: АХ = 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 или нижняя строка развертки