Функция
Запрещает прерывания.
Синтаксис
#include <dos.h>
void disable(void);
Прототип
dos.h
Описание
Данная макрокоманда разработана с целью обеспечения программистов гибким средством контроля над прерываниями на физическом уровне. Макрокоманда disable делает прерывания невозможными. Разрешено только прерывание NMI с внешнего устройства (не маскируемое прерывание).
Возвращаемое значение
Нет.
Переносимость
Уникальна для архитектуры 8086.
Пример
#include<stdio.h>
#include<dos.h>
#include<conio.h>
#define INTR 0X1C
void interrupt(*oldhandler)(void);
int count = 0;
void interrupt handler(void)
{
disable();
count++;
enable();
oldhandler();
}
int main(void)
{
oldhandler = getvect(INTR);
setvect(INTR,handler);
while(count < 20)
printf("счетчик = %d\n",count);
setvect(INTR,oldhandler);
return 0;
}
Примечание. Программа обеспечивает обработку прерывания. Вы не cможете откомпилировать эту программу с включенной проверкой переполнения стека (Test Stack Overflow - On) и получить правильно работающую программу.