Графические устройства

         

Обработка информации о режиме



Обработка информации о режиме

При программировании графики надо знать количество-точек на экране по горизонтали и вертикали, способ кодирования цвета, расположение базовых цветов, способ переключения окон видеопамяти, значение сегмента для доступа к видеопамяти и некоторые другие данные. Одни из этих величин зависят от видеорежима, другие — от особенностей видеокарты, третьи — от установленного на компьютере оборудования и программного обеспечения. Поэтому есть только один способ сделать задачу переносимой и заключается он в максимальном использовании данных, приведенных в табл. 1.2. После выполнения примеров 2.1—2.3 эти данные расположены в массиве info. Значение сегмента массива находится в регистре fs, а адрес начала массива (смещение от начала сегмента) равен нулю и расположен в регистре di.

Для сохранения и последующего использования служебной информации в разделе данных задачи надо зарезервировать переменные требуемого размера и присвоить им соответствующие имена. Например, размер рабочего поля экрана по вертикали мы будем хранить в переменной versize, а по горизонтали — в переменной Horsize. Подробнее о резервировании и назначении переменных сказано в разделе данной главы. Описанные там и в примерах всей главы имена переменных будут неоднократно использоваться в тексте книги.

Значения Vbuff, Horsize и Versize. В примере 2.5 показано, как можно сохранять данные из массива info. Предполагается, что он выполняется сразу после примера 2.4, о чем свидетельствует метка succ.



Содержание раздела