Page 55 - 4875
P. 55
допомогою функції 01h, або зменшувати за допомогою функції 02h.
Після ініціалізації такий лічильник встановлюється в „-1”.
Функція 01h збільшує його (до „0”), внаслідок чого курсор стає
видимим на екрані, всі послідуючі виклики функції 01h ігноруються.
Функція 01h скидає область в якій курсор не відображається (якщо така
область була раніше встановлена функцією 10h).
При виклику 0002h відповідне значення лічильника
зменшується (до „-1”), що дозволяє погасити курсор (зробити
невидимим). Всі подальші виклики ігноруються.
При використанні методу запису у відеопам’ять для виводу на
екран необхідно перед поновленням екрану курсор маніпулятора
зробити невидимим, після чого відновити.
3 Визначення положення курсору
На вході:АХ = 03h
На виході: BX = стан клавіш “мишки”
CX = координата Х (по горизонталі)
DX = координата Y (по вертикалі)
Дана функція повертає поточне положення курсору (його
координати і стан клавіш) на момент виклику функції. Підтримується
як в текстовому, так і в графічному режимах. При чому в текстовому
режимі отримані координати потрібно ділити на 8, оскільки таку
кількість пікселів (точок) займає один символ. Для графічних режимів
координати розподіляються в різних діапазонах, в залежності від
поточного відео режиму.
Таблиця 7.1 - Стан клавіш маніпулятора “мишка” на виході
в регістрі ВХ
Біт Стан Значення
0 1 Натиснута ліва кнопка
1 1 Натиснута права кнопка
2 1 Натиснута середня кнопка
3...7 - Незадіяні
Використання такої функції при реалізації програм не дозволяє
ефективно використовувати ресурси системи, оскільки програма
54