Скачиваний:
35
Добавлен:
15.09.2014
Размер:
1.45 Кб
Скачать
#include <dos.h> 
#include <bios.h> 
#include <conio.h> 
struct address //структура для переопределения адреса таблицы знакогенератора 
{ 
char far *p; 
}; 
struct address far * int_1f = (struct address far *)0x0000007cL; //установление указателя на адрес 
//таблицы знакогенератора в таблице векторов прерывания 
char far * old_1f; 
char *pic = "\x80"; // ASCII код 128 – т.е. элемент по смещению 0 
char table[] = { 
0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18 
}; // переопределенный символ 
void set_mode (int mode) //установление заданного режима 
{ 
_AH = 0x00; 
_AL = mode; 
geninterrupt(0x10); 
} 
void goto_xy(int x, int y) // переход на место с координатами х и у 
{ 
_AH = 0x02; 
_DH = y; 
_DL = x; 
geninterrupt(0x10); 
} 
void print_symvol(char *str, char atr) // вывод символа с заданными атрибутами 
{ 
_AH = 0x09; 
_AL = *str; 
_CX = 1; 
_BL = atr; 
geninterrupt(0x10); 
} 
main() 
{ 
char *ptr; 
set_mode(5); // установление 5 режима 
disable(); 
old_1f = int_1f -> p; // сохранение старого указателя на таблицу знакогенератора 
int_1f -> p = (char far *)table; // установка указателя в таблице векторов 
//прерывания на пользовательскую таблицу 
enable(); 
goto_xy(10,10); // переход на заданную позицию 
ptr = pic; // инициализация символа 
print_symvol(ptr, 3); // вывод символа 
int_1f -> p = old_1f; // восстановление старого значения указателя 
getch(); 
return 0; 
} 
Соседние файлы в папке 2. видеоадаптер