Вывод символов на экран (INT 10h)

Каждый символ на экране описывается двумя байтами — ASCII-кодом символа и байтом атрибута, указывающим цвет символа и фона, а также является ли символ мигающим.

Атрибут символа:

Бит 7: символ мигает (по умолчанию) или фон яркого цвета (если его действие было переопределено видеофункцией 10h).

Биты 6 – 4: цвет фона.

Бит 3: символ яркого цвета (по умолчанию) или фон мигает (если его действие было переопределено видеофункцией 11h).

Биты 2 – 0: цвет символа.

Цвета кодируются в битах, как показано в таблице .

 

  Обычный цвет Яркий цвет
000b черный темно-серый
001b синий светло-синий
010b зеленый светло-зеленый
011b голубой светло-голубой
100b красный светло-красный
101b пурпурный светло-пурпурный
110b коричневый желтый
111b светло-серый белый

 

 

08h Считать символ и атрибут символа в текущей позиции курсора АН = 08 ВН = номер страницы АН = атрибут символа AL = ASCII-код символа   09h Вывести символ с заданным атрибутом на экран АН = 09 ВН = номер страницы AL = ASCII-код символа BL = атрибут символа СХ = число повторений символа – С помощью этой функции можно вывести на экран любой символ, включая даже символы CR и LF, которые обычно интерпретируются как конец строки. В графических режимах СХ не должен превышать число позиций, оставшееся до правого края экрана 0Ah Вывести символ с текущим атрибутом на экран АН = 0Ah ВН = номер страницы AL = ASCII-код символа СХ = число повторений символа – Эта функция также выводит любой символ на экран, но в качестве атрибута символа используется атрибут, который имел символ, находившийся ранее в этой позиции. 0Eh Вывести символ в режиме телетайпа АН = 0Eh ВН = номер страницы AL = ASCII-код символа – Символы CR (0Dh), LF (0Ah), BEL (7) интерпретируются как управляющие символы. Если текст при записи выходит за пределы нижней строки, экран прокручивается вверх. В качестве атрибута используется атрибут символа, находившегося в этой позиции. 13h Вывести строку символов с заданными атрибутами АН = 13h AL = режим вывода: бит 0 — переместить курсор в конец строки после вывода бит 1 — строка содержит не только символы, но также и атрибуты, так что каждый символ описывается двумя байтами: ASCII-код и атрибут биты 2 – 7 зарезервированы СХ = длина строки (только число символов) BL = атрибут, если строка содержит только символы DH,DL = строка и столбец, начиная с которых будет выводиться строки ES:BP = адрес начала строки в памяти – Функция 13h выводит на экран строку символов, интерпретируя управляющие символы CR (0Dh), LF (0Ah), BS (08) и BEL (07). Если строка подготовлена в формате <символ,атрибут> — гораздо быстрее просто скопировать ее в видеопамять, Так как функция 09 выводит символ в позиции курсора, но не перемещает сам курсор, это приходится делать каждый раз специально  

 

Функции BIOS удобны для переключения и настройки видеорежимов, но часто оказывается, что вывод текста на экран гораздо быстрее и проще выполнять просто копированием изображения в видеопамять.