Управление курсором, вывод на терминал
9.4. Управление курсором, вывод на терминал
BIOS предоставляет следующие средства управления курсором: функция 3 - чтение координат курсора, функция 2 - установка курсора по заданным координатам. При обращениях к этим функциям в BH задается номер страницы, а в DL, DH получаются (или задаются) координаты - номер строки и колонки соответственно (нумерация начинается с 0). Позиционирование курсора иллюстрируется первой частью примера 9.5.
Курсор отображается на экране в виде одной или нескольких горизонтальных линий на матрице символа. Для того, чтобы задать форму курсора нужно задать номер S1 строки матрицы, с которой начинается курсор, и номер S2 - строки, которой он заканчивается. Если S2 < S1, то курсор состоит из двух частей: от S1 до 13 включительно и от 0 до S2 включительно. Управление формой обеспечивается функцией 1, начальная строка задается в CH, конечная - в CL. Если бит 5 CH при этом установлен в 1, то курсор становится невидимым (другой способ сделать курсор невидимым - установить его на строку 25 при помощи функции 2). Вторая часть примера 9.5 демонстрирует все возможные формы курсора. Обратите внимание на то, что при некоторых значениях номеров строк s1, s2 происходит скачкообразное изменение формы. Функция фактически отрабатывает только 8 значений номера строки, чтобы обеспечить совместимость с CGA, имеющим размер матрицы по вертикали 8.