Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

disable

disable


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

Синтаксис          #include <dos.h>
                   void disable(void);

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

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

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

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

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

Смотрите также     getvect, enable.

Пример:

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

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

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог