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

Ваш аккаунт

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

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

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

Прерывания не в тему. А может...

2.8K
06 декабря 2002 года
rex
1 / / 06.12.2002
Может я не совсем в тему попал, но у меня с прерываниями такая проблема. В реальном режиме после обработки 15 аппаратного прерывания эта линия маскируется и последующие прерывания с этой линии приходить не будут. Выход пока найден в размаскировани этого прерывания через порт a1h, причем не в обработчике 15 прерывания, а просто в коде программы или в обработчике другого прерывания, в частности по таймеру.

Вопрос в следующем, почему происходит автоматическое маскирование прерывания и как от этого можно отделаться (может дело в программировании кнтроллера прерываний)?
Если размаскировать прерывание в цикле основной программы, то все вроде нормально, а если в обработчике таймера, то получается очень медленно (аппаратура на 15 прерывании кидает запросы быстрее таймера). Можно конечно перепрограммировать таймер, но это не выход (все таки программа в DOSe работает и пишится под TURBO VISION C++, и находится в нереальном режиме процессора).
Да, из своего обработчика прерывания я выскакиваю через вызов старого обработчика (может проблема и в этом), но вообще я и без вызова старого обработчика завершал свой и все гавно маскируется.

В нереальном режиме можно без проблем пользоваться любыми прерываниями реального режима (самыми ходовыми уж точно)!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог