Меню сайта

Урок 172. Графика

Видеопрограмма BIOS имеет несколькофункций, которые обслуживают
— — — графику на IBM PC. — Устанавливая регистр AH равным 11, программа
— — — может сделать выбор цвета в графическомрежиме. — Эта подпрограмма
— — — устроена так, что она работает с истиннойпалитрой, а не с
— — — предопределенными палитрами цветной платы. — Если графический режим
— — — 320*200 имеет истинную палитру, то этоозначает, что должно
— — — существовать отображение в четыре цвета,возможных для каждой
— — — точки, из четырех цветов, которые хотелабы иметь программа. — В
— — — настоящее время это делается для цветафона в режиме нормального
— — — разрешения. — Вы можете выбрать любой цвет в качестве цвета 0, цвета
— — — фона. -Интерфейс этой программы был разработан для того, чтобы
— — — позволять определение истинной палитрыцветов, если фирма IBM
— — — когда-либо модифицирует аппаратуру так,чтобы позволять это.

— — — — — Чтобы достичь этой цели, значение точкиопределяется в регистре
— — — BH. В регистре BL определяется цвет, которыйприсвоит адаптер этой
— — — точке. Например, если содержимое регистраBH равно 0- регистр BL
— — — содержит значение цвета фона. BIOSобслуживает значение регистра
— — — BH, равное только 0 или 1 , так как можновыбрать только цвет фона
— — — и одну из двух предопределенных палитр.Пролог BIOS определяет
— — — палитру. С помощью этой функции можнотакже определить цвет
— — — окаймления в текстовых режимах.

— — — — — Две другие графические подпрограммыпозволяют читать либо
— — — записывать конкретные точки графическогоэкрана. В простейших
— — — случаях эта функция BIOS позволяет вамопределить строку и колонку
— — — без определения их отображения в буфердисплея. При построении
— — — больших картин, а также при выполнениилюбой графической работы эти
— — — функции требуют очень много времени.Программа должна вызывать BIOS
— — — при выдаче каждой точки на экран. В случаережима высокого
— — — разрешения программа должна вызвать BIOS128000 раз, чтобы
— — — изобразить каждую точку правильно. Хотяпрограммы, входящие в BIOS
— — — выполняется очень быстро, она должнавычислять адрес буфера всякий
— — — раз, когда получает информацию о строке иколонке. Для этого
— — — действия требуется умножение и несколькосложений, и следовательно,
— — — требуется некоторое время. В общем случаепрограмма записывает
— — — график с помощью стартового положенияточки и смещений относительно
— — — этого положения. Это означает, чтопрограмма вычисляет положение
— — — первой точки с помощью алгоритмаотображения в буфер, а положения
— — — остальных точек отсчитывает от текущегоадреса буфера.

Категория: Программирование на Ассемблере | Дата: 26.02.13

Меню раздела
Блок