Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Непосредственный доступ к видеобуферу




Непосредственный вывод в видеобуфер – наиболее быстрый способ вывода текста на экран. Для доступа к видеопамяти используется far-указатель, который позволяет адресоваться в пределах всей видеопамяти.

Пример

В позицию (i, j), где i – строка, j – столбец, выводится символ ‘A’, сопровождаемый атрибутом atr. Вывод подходит для режимов 0, 1, 2, 3 с разрешением 80 х 25 для цветных ВА. Базовый адрес видеобуфера b8000h. Вместо того, чтобы размещать константу 160 в тексте программы, лучше проверить в области данных bios в ячейке 40:4Ah действительное число столбцов отображаемых на экране и уже на основании этого сформировать подходящую константу для вычисления позиции символа и его атрибута в видеобуфере. Рекомендуется, также, на основании информации, размещенной в ячейках 40:4Ah и 40:49h, выяснить используемый режим и вычислить базовый адрес активной страницы.

………………………….

char far * buf = (char far *)0xb8000000;

……………………………

buf += i * 160 + j * 2;

* buf++ = ‘A’;

* buf = atr;

…………………………….

Пример

Использование near-указателя требует предварительной загрузки индексного регистра, например ES.

………………………………

register unsigned _es * work;

_ES = 0xb800; // загрузка базового адреса видеопамяти на регистр ES

………………………………

work = (unsigned _es *)(i * 160 + j * 2);

* work = (unsigned)(atr << 8) | ‘A’; // размещение символа и атрибута в пределах

// 16-разрядного слова и запись

Наиболее надежные программы, выполняющие непосредственный доступ к видеопамяти, определяют для записи те моменты времени, когда адаптер не выполняет обновления изображения на экране [12].

Вопросы для самоконтроля

· Какие типы мониторов различают?

· Какие параметры изменяются при изменении кодов режимов?

· Как выглядят атрибуты символов в видеопамяти и на что они влияют?

· Какие данные располагаются в области данных bios, связанные с управлением монитором?

· Каким образом выполняется расчет координат символа и его атрибута в случае вывода символа непосредственно в видеопамять?






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных