Каждый символ, отображаемый на экране в текстовом режиме, определяется не только своим кодом ASCII, но и байтом атрибутов. Атрибуты задют цвет символа, цвет фона а также некоторые другие параметры.
На рисунке 6.7 представлен формат байта атрибутов. Биты D0-D2 задают цвет символа, D4-D6 определяют цвет фона на котором отображается символ. Таким образом можно независимо задавать до 23 = 8 различных цветов для текста и фона.
Бит D3 играет различную роль в зависимости от числа активных таблиц знакогенератора. Если активной является одна таблица, то D3 используется для управления интенсивностью цвета символа, что позволяет увеличить количество воспроизводимых цветов от 8 до 16.
Если одновременно определены две таблицы знакогенератора, то D3 также задает таблицу знакогенератора, которая будет использована при отображении данного символа.
Бит D7 также выполняет две различные функции в зависимости от состояния регистра режима контроллера атрибутов. Данный бит управляет либо интенсивностью цвета фона, увеличивая число отображаемых цветов до 16, либо разрешением гашения символа, в результате чего символ на экране дисплея будет мигать. По умолчанию данный бит управляет разрешением гашения символа (миганием).
D2-D0 | Цвет символа. |
D3 | Интенсивность символа и выбор таблицы знакогенератора. |
D6-D4 | Цвет фона символа. |
D7 | Мигание символа или интенсивность фона символа. |
Рисунок 6.7 Байт атрибутов символа.
В таблице 6.2 приведено соответствие цветов символов и фона значениям поля цвета символа байта атрибутов:
Код цвета в Стандартный цвет Цвет с повышенной байте атрибутов интенсивностью
000 черный серый 001 синий светло-синий 010 зеленый светло-зеленый 011 морской волны голубой 100 красный светло-красный 101 фиолетовый малиновый 110 коричневый желтый 111 белый ярко-белый
Таблица 6.2 Стандартные цветовые атрибуты.