Аппаратные интерфейсы ПК

Int h — видеосервис


Int 10h — видеосервис — предназначен для работы с графическим адаптером. Его первичной задачей является управление видеорежимом (BIOS Video Mode), оп­ределяющим формат экрана. BIOS адаптера должна выполнять программирова­ние всех стандартных и специфических управляющих регистров для установки (смены) требуемого видеорежима и выбранных параметров развертки — кроме нее о способах этих переключений остальное ПО может и не знать. В пределах возможностей установленного видеорежима видеосервис предостав­ляет возможности отображения информации на различных уровнях. Простейший для программиста телетайпный режим позволяет посылать поток символов, кото­рые будут построчно отображаться на экране с отработкой символов возврата карет­ки, перевода строки, обеспечивая «прокрутку» изображения при заполнении экра­на. Есть функции и для полноэкранной работы с текстом, при которой доступны и атрибуты символа. В графическом режиме имеется возможность чтения и записи пиксела с указанными координатами. Однако видеосервисом Int 10h программи­сты пользуются далеко не всегда, поскольку работает он довольно медленно. Под­робно рассматривать функции видеосервиса не будем (этому посвящены отдель­ные книги), отметим особо лишь функцию телетайпного вывода Int 10h(0Eh). При вызове AH=OEh, в AL — код выводимого символа, в BL — цвет (только для гра­фического режима). Символ выводится в текущую позицию курсора, и курсор сдви­гается на следующую, переходя на новую строку после конца предыдущей и про­кручивая экран при его заполнении. Специальные символы вызывают возврат на начало строки (CR, код ODh), перевод строки (LF, OAh) и короткий гудок (BEL, 07h). Этой функцией часто пользуются для вывода сообщений программами, работа­ющими на нижнем уровне (например, модули инициализации ПЗУ расширений BIOS, загрузчики и другие, не имеющие еще доступа к сервисам операционных систем). Программа вывода получается простейшей, работает на всех адаптерах и во всех режимах, но довольно медленно.



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