Russian Belarusian English German Japanese Ukrainian

Функция


Запрещает прерывания.

Синтаксис


#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) и получить правильно работающую программу.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

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


Поиск по сайту