Программирование видеоадаптеров

       

Установка цвета рамки - подфункция 01h


Функция выполняет запись значения в регистр цвета рамки контроллера атрибутов. Надо иметь в виду, что эта функция не работает в некоторых режимах видеоадаптера EGA.

На входе:

AH

10h



AL

01h - установка цвета рамки

BH

Значение, записываемое в регистр (цвет)

На выходе:

Не используются

Программа BORDER, приведенная в листинге 5.4, использует подфункцию 01h для изменения цвета рамки экрана.

Листинг 5.4. Файл BORDER.C

#include <dos.h>

#include <stdio.h>

#include <conio.h>

void main(void);

// Главная функция

void main(void) {

 

union REGS         inregs, outregs;

 

unsigned char   i;

 

// Пробуем 16 цветов для рамки

 

for(i = 0; i < 16; i++) {

               

// Функция управления контроллером атрибутов

               

inregs.h.ah = 0x10;                           

               

// Подфункция установки цвета рамки

               

inregs.h.al = 0x1;               

               

// Номер нового цвета рамки

               

inregs.h.bh = i;

               

int86( 0x10, &inregs, &outregs );

               

// Ожидаем нажатия на любую клавишу

               

printf("\nДля изменения цвета рамки "

                                                 

"нажмите любую клавишу...");

               

getch();

 

}

}



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