Каждой точке экрана монитора поставлены в соответствие четыре бита что позволит отобразить n цветов

Графический режим – это режим с адресацией всех точек экрана, позволяющий получать сложные, цветные и движущиеся изображения и связанный с обработкой процессором больших массивов информации. В этом режиме каждый байт видеобуфера хранит цветные значения одного или нескольких пикселов.

Если пиксел кодируется n битами видеобуфера, то на экране одновременно можно наблюдать 2 n цветов. В адаптере CGA графический режим 320´200 использует 2 бита для кодирования цвета пиксела, т.е. на экране одновременно можно наблюдать 4 цвета из 16 цветов палитры.

В каждом байте видеобуфера CGA хранятся значения четырех пикселов, причем левый младший пиксел в байте соответствует старшим байтам D7 и D6. В адаптере CGA реализуется прямое соответствие (без преобразования) между битами видеобуфера и пикселами экрана, а адаптерах EGA и VGA – косвенное отображение с использованием 16 регистров палитры, как и в текстовом режиме. На рис. 9.9 показаны схемы отображения содержимого видеобуферов CGA, EGA и VGA на экраны мониторов.

А ты ПРАВИЛЬНО делаешь ЦВЕТОКОР? Настройка монитора. Работа с WAVEFORM и VECTORSCOPES.

видеобуфер ® экран CGA

видеобуфер ® регистры палитры ® экран EGA

видеобуфер ® регистры палитры ® регистры ЦАП® экран VGA

Рис. 9.9. Схемы отображения видеобуферов на экраны CGA, EGA, VGA

Следует отметить, что во всех этих трех случаях сохраняется линейное отображение видеобуфера (страницы) на экран, т.е. двоичному полю (коду) видеобуфера ставится в соответствие пиксел (элемент изображения) на экране.

Хранение значений пикселов в видеобуферах CGA, EGA и VGA выполняется следующим образом (рис. 9.10).

Рис. 9.10. Представление видеобуферов CGA, EGA и VGA в графическом режиме

В CGA графические данные хранятся в двух блоках видеобуфера. Первый блок с начальным адресом B800:0000h предназначен для хранения значений пикселов 100 четных строк, а второй блок с начальным адресом B800:2000h – 100 нечетных строк.

Видеобуфер VGA и EGA, как уже отмечалось, в текстовом режиме состоит из четырех блоков или двоичных плоскостей 0 – 3, адресуемых параллельно, т.е. адрес относится к четырем байтам соответственно четырех плоскостей. Если в CGA возможен прямой доступ к видеобуферу, то в EGA и VGA непосредственное обращение к видеобуферу исключено.

При чтении содержимого видеобуфера VGA (EGA), связанного с выполнением команд MOV, CMP, LODS и т.д., происходит параллельная выборка четырех байтов, которые загружаются в соответствующие регистры‑защелки, т.е. байт из двоичной плоскости 0 загружается в регистр-защелку 0 и т.д. Каждый байтовый срез четырех регистров хранит 4-разрядные значения пиксела. В EGA используется 4 бита для хранения значения пиксела, а в VGA – 8 бит. Регистры‑защелки содержат 8 4-разрядных значений пикселов.

При выполнении команд MOV, CMP, LODS и т.д., П осуществляет запись данных в видеобуфер при указании в них соответствующего адреса. При этом выполняется параллельная модификация байт во всех четырех плоскостях с учетом содержимого четырех регистров‑защелок и байта данных П. Регистры-защелки представляют собой ортогональную память, допускающую обращение как по байтам, так и по разрядам (пикселам) всех байтов, что упрощает программирование графического режима. Передачами данных между П, регистрами-защелками и видеобуфером управляет графический контроллер со средствами маскирования, реализующий с помощью программно доступных регистров пикселные и байтные операции.

видео тест для проверки цветов монитора

Как уже отмечалось, графический режим называют режимом АРА (All Points Addressable) с адресацией всех точек. В этом режиме видеопамять хранит битовый образ пикселного представления изображения на экране. Каждый байт видеопамяти хранит значение одного или значения нескольких пикселов, причём нумерация битов и пикселов противоположная, т.е. самому левому, младшему, пикселу соответствуют старшие биты байта. Число одновременно наблюдаемых цветов на экране определяется числом битов, соответствующих каждому пикселу. Так, например, в 16-ти цветном графическом режиме под любой пиксел отводится четыре бита. Если разрешающая способность цветного режима АРА 640´480, то необходимый объем страницы видеопамяти равен

Еще по теме:  Регулировка яркости монитора в Windows 10

Характеристики графических режимов адаптера VCA приведены в табл. 9.5.

Начальный адрес видеопамяти

Число байтов в странице

Размер матрицы символа

Из табл. 9.5 видно, что на рост емкости страницы видеопамяти влияют увеличение разрешающей способности и количество одновременно наблюдаемых цветов.

Режимы 4, 5 и 6 необходимы для реализации стандартов CGA, а режимы D, G, F и 10 – для поддержания стандарта EGA. Стандарту VGА принадлежат режимы 11, 12, 13, из которых наиболее употребительным является режим 12.

Видеопамять в зависимости от режима может иметь одну, две или четыре битовых плоскостей. Битовые плоскости иначе ещё называют банками. На рис. 9.11 показана организация видеопамяти в виде четырёх битовых плоскостей (0–3) для режимов D, E, 10, 12 (рис. 9.11, а), двух плоскостей, например, 0 и 2 для режимов 4 и 5 (рис.

9.11, б) и одной плоскости для режимов 6 и 11 (рис. 9.11, в).

Рис. 9.11. Организация видеопамяти для режимов D, E, 10 и 12а),
режимов 4, 5 б) и режимов 6 и 11 в)

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

На рис. 9.12 для 16-цветного режима изображена схема связи битовых плоскостей с соответствующими 8-битовыми режимами-защелками R0-R3.

Рис. 9.12. Схема связи двоичных плоскостей 0-3 видеопамяти с регистрами-защелками R0-R3

Считанный из битовых плоскостей битовый срез байтов определяет количество одновременно наблюдаемых цветов. Таким образом, цвет пиксела на экране обуславливается четырьмя битами (рис. 9.11, а), двумя битами (рис. 9.11, б) или одним битом (рис.

9.11, в) с учетом шестнадцати 6-битовых регистров палитры атрибутного контроллера, т.е. указанные 4, 2 или 1 бит задают номер цвета в соответствующем регистре палитры. Для двух- или четырехцветного режимов используются первые 2 или 4 регистра палитры. Затем 6-битовое значение выбранного регистра палитры преобразуется в 8-битовый индекс (адрес) для доступа к одному из двухсот пятидесяти шести 18-битовых регистров ЦАП. Каждый 18-битовый регистр хранит определенный цвет и содержит три 6-битовых части, соответствующие красному, зеленому и синему цветам. В регистры ЦАП записывается таблица цветов, которую можно программно изменить.

В режиме 13 атрибутный контроллер не участвует. В этом случае каждый байт видеопамяти поступает непосредственно в ЦАП для выбора желаемого цвета пиксела с помощью таблицы цветов.

В адаптере VGA обработку данных, передаваемых между процессором и видеопамятью, выполняет графический контроллер, содержащий 9 регистров, доступ к которым осуществляется через регистр данных (3CFh) и регистр индекса (3CEh), выбирающего желаемый регистр. К числу регистров графического контроллера относятся: регистр установки/сброса (индекс 0), индекс разрешения установки/сброса (индекс 1), регистр сдвига данных (индекс 3), регистр режима (индекс 5) и регистр маски битов (индекс 8).

Адаптер реализует 3 режима записи и 2 режима чтения из видеопамяти. По умолчанию BIOS устанавливает режим записи 0 и режим чтения 0. При осуществлении режима записи необходимо предварительно в регистры-защелки загрузить текущее содержимое байтов видеопамяти. В регистре режима биты 0-1 задают режимы записи (00 – режим записи 0, …, 11 – режим записи 3), бит 3 указывает на режим чтения (0 – режим чтения 0, 1 – режим чтения 1).

Рассмотрим выполнение наиболее сложного режима записи 0. Для реализации этого режима секвенсер адаптера содержит регистр маски карты (индекс 2). Секвенсер координирует передачу данных из видеопамяти или графического контроллера в атрибутный контроллер и имеет 5 программно-доступных регистров, обращение к которым выполняется с помощью регистра данных (3C5h) и регистра индекса (3С4h), предназначенного для выбора конкретного регистра по его индексу.

Регистр маски битов (индекс 8) графического контроллера используется для защиты соответствующих битов регистров-защелок от воздействия содержимого регистра данных процессора, например AL. Если в регистре маске битов разряды D0=D1=D3=0, то в регистрах-защелках запрещается изменение битов D0, D1 и D3. Единичное значение какого-либо бита регистра маски битов разрешает модификацию соответствующих битов в регистрах-защелках.

Рассмотрим следующий пример. Пусть необходимо представить пиксел коричневого цвета в строке 0 и столбце 1 экрана в режиме записи 0. На рис. 9.13 изображена схема очистки текущего содержимого регистров-защелок. Рис. 9.13 показывает выбор первых байтов в битовых плоскостях видеопамяти по его начальному адресу.

Еще по теме:  Безопасное расстояние от монитора до глаз

Затем в регистре маске устанавливается код 010…0b, маскирующий все биты, кроме шестого, в регистрах-защелках. После этого необходимо выполнить чтение содержимого видеопамяти в регистры-защелки путем выполнения команды MOV AL,ES:[BX], причем содержимое регистра AL здесь игнорируется. После этого в регистр AL заносится нулевое значение и выполняется команда MOV ES:[BX],AL, которая очищает шестой битовый срез в регистрах-защелках (шестые биты в первых байтах двоичных плоскостей (3-0) видеопамяти).

Рис. 9.14 показывает вывод пиксела коричневого цвета на экран.

Рис. 9.13. Схема очистки битового среза регистров-защелок
и фрагмент программы

Рис. 9.14. Схема вывода пиксела на экран и фрагмент программы

Вначале устанавливается код 0110 в регистре маски карты, задающий коричневый цвет выводимой точки. Код в регистре маски карты определяет цвет пиксела на экране. После этого любое значение с D6=1 в регистре AL при выполнении команды MOV ES:[BX],AL устанавливает требуемую точку коричневого цвета на экран. Если в регистре маски карты поместить код 0001 или 0010, то это будет соответствовать изображению на экране точки синего или зеленого цвета.

При выполнении операции записи пиксела в видеопамять необходимо выполнить следующие действия:

— установить тип графического режима с помощью функции 0 прерывания Int 10h;

— задать режим записи 0 в регистре режима графического контроллера.

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

Здесь следует отметить, что при выполнении процессором команд: MOV RG,VRAM, CMP RG,VRAM или AND RG,VRAM из четырех двоичных плоскостей видеопамяти по одному и тому же заданному в команде адресу видеопамяти извлекаются четыре байта, которые затем автоматически помещаются в соответствующие регистры-защелки.

Аналогичным образом при выполнении, например, команды: MOV VRAM,RG производится модификация содержимого регистров-защелок и параллельная запись их в битовые плоскости по заданному в команде адресу видеопамяти.

В режиме записи 0 на формирование данных выводимых из регистров-защелок в битовые плоскости видеопамяти в режимах D, E, 10 и 12 влияет содержимое регистра маски битов, регистра маски карты, регистра установки/сброса, регистра разрешения установки/сброса, регистра данных процессора и регистра сдвига данных (рис. 9.15)

Рис. 9.15. Структурная схема реализации режима записи 0

Регистр установки/сброса, содержащий биты В0-В3 по числу регистров-защелок, управляет установкой единичных значений или сбросом в нулевое состояние битов выбранных регистров-защелок. Так, если в регистре установки/сброса бит В3=0 и бит В0=1, то все немаскируемые биты третьего регистра-защелки сбрасываются в нулевое состояние, а немаскируемые биты нулевого регистра-защелки устанавливаются в единичное состояние. Работа регистра установки/сброса координируется регистром разрешения установки/сброса. Если, например, в регистре разрешения установки/сброса бит В3=1, то это соответствует разрешению работы бита В3 регистра установки/сброса.

Регистр установки/сброса обладает более приоритетным воздействием на значения регистров-защелок, чем регистр маски карты, т.е. разрешенный бит регистра установки/сброса запрещает действие одноименного бита регистра масок карты. Если в регистре маски карты какой-либо бит равен нулю, то этот бит защищает соответствующий регистр-защелку от записи в него значения регистра данных процессора с учетом того, что одноименный бит регистра установки/сброса неразрешен.

Таким образом, передача содержимого регистра данных процессора осуществляется в немаскируемые биты немаскируемого регистра-защелки с запрещенным сбросом или установкой его битов.

Более сложные операции над содержимым регистров-защелок выполняются с использованием регистра сдвига данных, в формате которого биты 0-2 определяют количество сдвигов вправо в выбранном регистре-защелке и биты 3-4 задают логические функции И, ИЛИ и исключающее ИЛИ. По умолчанию биты регистра сдвига равны 0.

Наиболее простым является режим записи 1. В этом режиме содержимое регистров-защелок передается в соответствующие выбранные байты битовых плоскостей видеопамяти без использования дополнительных регистров маскирования. Режим записи 1 наиболее пригоден для организации сдвигов изображения на экране путем считывания байтов битовых плоскостей видеопамяти в регистры-защелки и перезаписи их в видеопамять по новому адресу. На рис. 9.16 показана схема реализации режима записи 1 и фрагмент программы копирования содержимого одной строки в другую.

Режим записи 1, как и любой другой режим, устанавливается по известной методике, связанной с доступом к регистру режима графического контроллера:

MOV DX , 3CEh ; задаем регистр индекса

Еще по теме:  Разрешение для 27 дюймового монитора оптимальное

MOV AL , 5 ; указываем индекс регистра режима

INC DX ; устанавливаем адрес регистра данных

Рис. 9.16. Схема реализации режима записи 1 и фрагмент программы
копирования из одной области VRAM в другую

В режиме записи 2 младшие четыре бита регистра AL процессора выполняют те же функции, что и разряды 4-битного регистра маски карты в режиме записи 0, т. е. определяют цвет пиксела экрана (рис. 9.17).

Рис. 9.17. Схема реализации режима записи 2

Программа установок пиксела заданного цвета на экране в режиме записи 2 почти аналогична программе того же назначения, что и для режима записи 0. В режиме записи 2 может быть использован и регистр установки/сброса (на рис. 9.17 этот регистр не показан).

В режиме записи 3 байт данных в регистре AL процессора может быть сдвинут вправо на заданное число битов, которое определено в регистре сдвига данных. После этого полученный результат объединяется по И с содержимым регистра маски битов и затем используется в качестве маски битов регистров-защелок. Действие разрешенных битов регистра установки/сброса аналогично действию битов этого регистра в режиме записи 0.

Адаптер VGA (EGA) выполняет два режима чтения 0 и 1.

В режиме чтения 0 необходимо заранее установить регистр выбора карты (индекса 4), выбирающий битовую плоскость. Биты 0 и 1 этого регистра задают номер битовой плоскости 0-3 для режима чтения 0. На рис. 9.18 показана схема реализации режима чтения 0.

Рис. 9.18. Схема реализации режима чтения 0

Режим чтения 0 или 1 определяется значением бита 3 регистра режима графического контроллера. Для доступа к этому регистру необходимо записать индекс 5 в регистр адреса (порт 3СЕh), а в регистр данных (порт 3CFh) значение бита 3, равное 0 или 1.

Режим чтения 1 заключается в том, что каждый битовый срез регистров-защелок, считанных четырех байтов из битовых плоскостей 0-3 видеопамяти сравнивается с 4-битовым кодом заданного цвета, предварительно записанного в регистр сравнения цвета (индекс 2). В том случае, если сравниваемые коды совпадают, то в регистре AL процессора соответствующий бит устанавливается в 1, в противном случае – сбрасывается в 0. Таким образом, режим чтения 1 позволяет определить цвет пиксела на экране.

Для выполнения этого режима, кроме того, применяется 4-битовый регистр безразличия цвета, позволяющий игнорировать некоторые биты кода цвета. Регистру безразличия цвета присвоен индекс 7, засылаемый в регистр адреса (порт 3CEh). Сброс бита этого режима с помощью порта 3CFh приводит к игнорированию соответствующей битовой плоскости. На рис. 9.19 показана схема выполнения режима чтения 1.

Рис. 9.19. Схема реализации режима чтения 1

Источник: www.konsalter.ru

1. Сколько цветов будет содержать палитра, если на один пиксель отводится 4 бита памяти? 2. Монитор позволяет получать на экране 224 цвета. Какой объем памяти в байтах требуется для кодирования 1 пикселя? 3. Монитор позволяет получать на экране 65536 цветов. Какой объем памяти в байтах требуется для кодирования 1 пикселя?

4. Вычислите необходимый объем видеопамяти для графического режима, если разрешение экрана монитора составляет 1280 * 1024 пикселей, глубина цвета — 32 бита.

Для всех заданий воспользуемся формулой N=2^i? где N -количество цветов, а i -количество бит на 1 пиксель.
Задача 1.
N=2^4=16 цветов.

Задача 2.
N=224=2^i, поскольку для кодирования 128 цветов необходимо 7 бит, а для кодирования 256 цветов -8 бит, выбираем большее число, то есть 8 бит или 1 байт.

Задача 3.
65536 это 2^16⇒требуется 16 бит или 2 байта.

Задача 4.
1. Узнаем общее количество пикселей 1280*1024=1310720
2. Полученное число умножаем на глубину цвета 1310720*32=41943040 бит = 41943040/8 = 5242880 байт = 5242880/1024 = 5120 кб =5120/1024 = 5 Мб
Ответ: 5 Мб

Источник: reshaika.com

Решить : 1. каждой точке монитора (пикселю) поставлены в соответствие четыре бита, что позволит отобразить n цветов g-? 2. объем видеопамяти равен 4 мб, битовая глубина — 24, разрешающая способность дисплея — 640 х 480. какое максимальное количество страниц можно использовать при этих условиях?

tekst shpargalki sostavliaet 50*50=2500 simvolov-2500 bait.

da + eshe 0,3*2500=750.

vsego 2500+750=3250 bait.

Ответ разместил: svetlanasevasty

var s, x: string; c, n, err, i, d, k: integer; begin readln (s); n: =length(s); for i: =1 to n do begin

Ответ разместил: ep1cook1e

картинка должна быть в папке с программой и быть в формате bmp

varn: string; b: picture; s: integer;

beginwriteln(‘введите расстояние до зеркала’); readln(s); write(‘введите имя файла рисунка: ‘); readln(n); window.clear; b : = picture.create(n); b.load(n); b.draw(50, 50); b.fliphorizontal; b.draw(50+2*s,50); end.

Источник: nadootvet.ru

Оцените статью
Добавить комментарий