Изменение положения курсора.
Рисунок 8.4 Изменение положения курсора.
Следующая программа позволяет прочитать значение регистров начальной и конечной линии курсора:
#include <stdio.h> #include "sysp.h" #include "sysgraph.h"
void main(void) {
char top = 0, bottom = 0; unsigned crt_address; BIOS_VAR _far *bios_var_ptr;
// получаем указатель на область переменных видеофункций BIOS
bios_var_ptr = (BIOS_VAR _far *) FP_MAKE(0x0000, 0x0410);
// определяем адрес порта индексного регистра контроллера ЭЛТ
crt_address = bios_var_ptr->crt_address;
// считываем значения регистров начальной и // конечной линии курсора
// выбираем регистр начальной линии курсора
WriteReg(crt_address++, 0x0A);
// считываем значение регистра
top = (unsigned char) ReadReg(crt_address--);
// выбираем регистр конечной линии курсора
WriteReg(crt_address++, 0x0B);
// считываем значение регистра
bottom = (unsigned char) ReadReg(crt_address);
// отображаем на экране значение регистров
printf("\nРегистр начальной линии курсора содержит %x\n" "\nРегистр конечной линии курсора содержит %x\n", top, bottom);
getch(); }
Содержание раздела