Видеобуфер - Большая Энциклопедия Нефти и Газа, статья, страница 4
Когда ты сделал что-то, чего до тебя не делал никто, люди не в состоянии оценить, насколько трудно это было. Законы Мерфи (еще...)

Видеобуфер

Cтраница 4


Отметим в связи с рассмотренным примером, что при обращении к видеобуферу командами, оперирующими 16-битными словами, результаты могут быть ошибочными. Если, например, в приведенном выше фрагменте заменить команду MOVSB на команду MOVSW, то будут выполнены две операции считывания по 4 байта и данные от второй операции перезапишут в регистрах-защелках данные от, первой операции.  [46]

47 Регистры секвенсера адаптеров EGA и VGA. [47]

Имеется также вспомогательный выходной регистр, который управляет адресацией портов ввода-вывода и видеобуфера, а также выбирает частоту задающего тактового генератора. Отметим, что в адаптере EGA все регистры секвенсера, графического и атрибутного контроллеров допускают только запись, а в адаптере VGA для них разрешены операции считывания и записи. Этот узел генерирует внутренние сигналы для адресации видеобуфера. Кроме того, он разрешает работу с 8 - ю шрифтами, причем два из них могут одновременно выводиться на экран.  [48]

В двухцветном режиме 640x200 для считывания значения пиксела необходимо просто получить из видеобуфера байт, адресуемый регистрами ES: BX, и выделить в нем бит, содержащий значение нужного пиксела. При сделанных выше предположениях эти действия осуществляют всего три команды.  [49]

В текстовом режиме каждый символ, наблюдаемый на экране, представлен в видеобуфере всего двумя байтами. Вместе с этим в графическом режиме каждый пиксел каждого символа представлен в видеобуфере отдельным двоичным полем. Поэтому резко возрастает объем данных, которые необходимо хранить в видеобуфере. Например, в 16-цветном режиме ( 4 бита на пиксел) и символьной матрице размерностью ч 8x8 описание каждого символа занимает 32 байта. Соответственно усложняются и алгоритмы преобразований символьных данных. Таким образом, вывод данных в текстовом режиме оказывается наиболее простым и быстрым.  [50]

Данная функция аналогична предыдущей, за одним исключением: в текстовых режимах в видеобуфер помещается только код символа, а атрибутный байт не изменяется. Действия функции OAh в графических режимах полностью аналогичны действиям функции 09h, включая и выполнение операции XOR, если старший бит регистра BL содержит единицу.  [51]

Когда этот адаптер программируется на эмуляцию графических режимов адаптера CGA, пикселы в видеобуфере отображаются точно так же, как в адаптере CGA. Однако в естественных режимах адаптера EGA ( 16-цветные 200-строчные режимы и все 350-строчные режимы) каждый байт всегда содержит информацию о восьми пикселах. Такое отображение определяется организацией видеобуфера адаптера EGA. Видеобуфер емкостью до 256К байт состоит из четырех параллельных банков ( тар) ЗУПВ. Бднки считаются параллельными в том смысле, что они занимают один и тот же диапазон адресного пространства процессора. Секвенсер и графический контроллер позволяют обращаться к банкам параллельно или в отдельности ( подробнее см. разд.  [52]

Большинство графических программ опирается на элементарные процедуры, которые оперируют отдельными пикселами в видеобуфере. Основными операциями здесь являются считывание значения пиксела из видеобуфера и запись значения пиксела в видеобуфер.  [53]

Для записи значения пиксела в двухцветном режиме 640x200 необходимо выделить нужный бит в видеобуфере, а затем поместить в него новое значение. В следующем фрагменте предусмотрена прямая замена значения пиксела, а также выполнение трех логических операций.  [54]

Множитель 2 появляется в связи с тем, что для каждого символа в видеобуфере требуются два байта. Значения строки и столбца отсчитываются от верхнего левого угла экрана начиная с нуля.  [55]



Страницы:      1    2    3    4