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

       

Disable



     disable

Функция Запрещает прерывания.

Синтаксис #include

void disable(void);

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

Описание Данная макрокоманда разработана с целью обеспе- чения программистов гибким средством контроля над прерываниями на физическом уровне.

Макрокоманда disable делает прерывания невозможны- ми. Разрешено только прерывание NMI с внешнего ус- тройства (немаскируемое прерывание).

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

Переносимость Данная макрокоманда уникальна для архитектуры 8086.

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

Пример:

/* Замечание. Это программа обработки прерывания. Вы не сможете откомпилировать эту программу с включенной проверкой переполнения стека (Test Stack Overflow - On) и получить правильно работающую программу. */

#include

#include

#include

#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); /* цикл, пока счетчик не достигнет 20 */ while(count < 20) printf("счетчик = %d\n",count); /* восстановить старый вектор */ setvect(INTR,oldhandler); return 0; }



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