Глава 4. Вывод на терминал.

Раздел 2. Управление курсором.

Kурсор служит двум целям. Во-первых, он служит указателем места на экране, в которое операторы программы посылают свой вывод. Во-вторых, он обеспечивает видимую точку отсчета на экране для пользователя программы. Только для второго применения курсор должен быть видимым. Kогда курсор невидим (выключен), то он все равно указывает на позицию экрана. Это важно, поскольку любой вывод на экран, поддерживаемый операционной системой, начинается с текущей позиции курсора.

Kурсор генерируется микросхемой контроллера дисплея 6845, описанной в {4.1.1}. Эта микросхема имеет регистры, устанавливающие размер и положение курсора. Микросхема 6845 делает только мерцающий курсор, хотя имеются программные способы создания немерцающего курсора {4.2.6}. Частота мерцания курсора не может быть изменена. В графических режимах курсор не выводится, хотя символы позиционируются на экране теми же самыми процедурами установки курсора, что и в текстовых режимах.

Kогда видеосистема работает в режиме, допускающем несколько дисплейных страниц, то каждая страница имеет свой собственный курсор и при переключении между страницами восстанавливается позиция курсора, которую он занимал, когда было последнее обращение к восстанавливаемой странице. Hекоторые режимы дисплея позволяют иметь до 8 дисплейных страниц и соответствующие им позиции курсора хранятся в наборе восьми 2-байтных переменных в области данных BIOS, начиная с адреса 0040:0050H. В каждой переменной младший байт содержит номер столбца, отсчитывая от 0, а старший байт содержит номер строки, также отсчитывая от 0. Kогда используется меньше чем 8 страниц, то используются переменные, расположенные в более младших адресах памяти.


<~-4.1.6 Переключение между видеоадапторами.
Содержание
4.2.1 Установка курсора в абсолютную позицию.-~>

Сайт управляется системой uCoz