Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Getvect

CuBook05

Функция

Получает вектор прерывания.
 
Синтаксис

#include<dos.h>
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<stdio.h>
#include<dos.h>

void interrupt get_out(); /* прототип функции обработки прерывания */
void interrupt (*oldfunc)(); /* указатель на прерывание */
int looping = 1;

int main(void)
{
puts("Нажмите <Shift><Ptr Sc> для завершения");
/* сохранить старый вектор */
oldfunc = getvect(5);
/* установить новый вектор */
setvect(5,get_out)
/* ничего не делать */
while(looping);
/* восстановить старый вектор */
setvect(5,oldfunc);
puts("Успешно");
return 0;
}
void interrupt get_out()
{
looping = 0; /* изменить значение глобальной переменной */
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий