Графические устройства

         

Настройка драйвера задачи и первый вывод курсора



Пример 6.9. Настройка драйвера, задачи и первый вывод курсора

mouse 0 инициализация драйвера
; !! здесь желательно проверить содержимое регистров АХ и ВХ !!
хог сх, сх СХ = Xmin = Ymin = 0
rnov ax, horsize DX = Xmax = horsize
mouse 7 установка границ по горизонтали
mov dx, versize DX = Ymax = versize
mouse 8 установка границ по вертикали
mov сх, horsize СХ = horsize
shr ex, 01 центр экрана по горизонтали
shr dx, 01 центр экрана по вертикали
mouse 4 установка значений счетчика драйвера
mov Xpointer, сх Xpointer = 0,5 * horsize
mov Ypointer, dx Ypointer = 0,5 * versize
mov ax, versize AX = versize
inc ax AX = versize + i


mul ex DX:AX = (versize + 1) * horsize / 2
; В режимах direct color результат надо умножить на размер кода точки
mov Offspnt, ax сохраняем смещение рисунка курсора
mov ax, GrUnit AX = единица измерения размера окна
mul dl AX = DL * GrUnit (номер видеоокна)
add ax, Base_Win !! учитываем значение базового окна
mov Winpnt, ax сохраняем значение окна видеопамяти
call Showpnt первое построение рисунка курсора

При вычислении адреса видеопамяти по номеру строки и столбца надо учитывать размер кода точки.



Содержание раздела