Каждый символ на экране описывается двумя байтами — 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 удобны для переключения и настройки видеорежимов, но часто оказывается, что вывод текста на экран гораздо быстрее и проще выполнять просто копированием изображения в видеопамять.