Описание функций Си

Setvect



     setvect

Функция Устанавливает вектор прерывания.

Синтаксис void setvect(int intr_num, void interrupt(*isr) ());

Файл, содержащий dos.h прототип

Описание Каждый микропроцессор семейства 8086 включает на- бор векторов прерываний, с номерами от 0 до 255. Четырех байтовые значения каждого вектора в дейс- твительности представляют собой адреса программ обработки соответствующих прерываний. setvect устанавливает новую программу обработки прерывания с номером intr_num, передавая ее адрес в параметре isr. Адрес подпрограммы можно пере- дать только в том случае, если она объявлена как подпрограмма обработки прерывания (interrupt).

Примечание. Если вы используете прототипы, объяв- ленные в dos.h то вы можете просто посылать адрес подпрограммы обработки прерывания setvect в любой модели памяти.

Возвращаемое Нет. значение

Переносимсоть setvect уникальна для микропроцессоров семейства 8086.

Смотрите также

Пример:

/* Примечание: Это программа обработки прерываний. Вы должны компилировать данную программу с отключенной функцией проверки переполнения стека (Test Steck Overflow - off). */

#include

#include

#include

#define INTR 0X1C /* прерывание по таймеру */

void interrupt (*oldfunc)(); /* указатель на прерывание */ int count = 0;

void interrupt handler() { /* увеличить счетчик */ count ++; /* вызвать старый вектор */ oldfunc(); }

int main(void) { /* сохранить старый вектор */ oldfunc = getvect(INTR); /* установить новый вектор */ setvect(INTR,handler) /* ничего не делать */ while(count



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