Функция Получает содержимое вектора
getvect
Функция Получает содержимое вектора прерывания.
Синтаксис #include
void interrupt(*getvect(int intr_num))();
Файл, содержащий dos.h прототип
Описание Любой из семейства процессоров 8086 содержит набор векторов прерываний, пронумерованных от 0 до 255. 4-х байтовое значение каждого вектора есть адрес, по которому расположена функция обработки преры- вания.
Функция getvect считывает значение вектора с име- нем intr_num и интерпретирует прочитанное значе- ние, как "дальний" указатель (с атрибутом "far") на некоторую функцию прерывания. Параметр intr_num должен иметь значение от 0 до 255.
Возвращаемое Функция getvect возвращает 4-х байтовое значение, значение хранящееся в векторе прерывания с номером intr_num.
Переносимость Функция уникальна для DOS.
Смотрите также
Пример
#include
#include
void interrupt get_out(); /* прототип ф-ции обработки прерывания */ void interrupt (*oldfunc)(); /* указатель на прерывание */ int looping = 1;
int main(void) { puts("Нажмите для завершения"); /* сохранить старый вектор */ oldfunc = getvect(5); /* установить новый вектор */ setvect(5,get_out) /* ничего не делать */ while(looping); /* восстановить старый вектор */ setvect(5,oldfunc); puts("Успешно"); return 0; } void interrupt get_out() { looping = 0; /* изменить значение глобальной переменной */ }