15 Июл, 2003 г. - 04:54
Начало :: Статьи по темам :: Файлы/Примеры :: Обзоры программ
ФОРУМЫ :: Линки :: ЧАВО :: Поиск на сайте :: О нас 
Поиск по сайту:   
Войти
 Имя пользователя
 Пароль
 Запомнить меня


Все еще не зарегистрировались? Регистрация сделает комфортными Ваши посещения этого сайта, предоставит доступ ко многим дополнительным сервисам и настройкам, которые для анонимного пользователя недоступны.

Темы статей
· Все темы
· Графика (19 Дек, 2002)
· Разное (03 Июл, 2003)
· Обзоры (06 Мар, 2003)
· Проекты (10 Янв, 2003)
· Новости (13 Июл, 2003)
· СОМ (17 Янв, 2003)
· Сети (26 Июн, 2003)
· OS (11 Апр, 2003)
· Теория (27 Мая, 2003)
· Web (17 Мар, 2003)
· Драйвера (13 Июл, 2003)

Архив
· Архив статей

Общее
· Наша статистика
· Топ лист сайта
· Список участников


Rambler's Top100 MAFIA's Top100
Rambler's Top100

Каталог Русских Сайтов

Форумы
 
Ассемблер :: IRQ 13
Модерируется: Darksoul
Автор IRQ 13
Spectrum

Новичок
Сообщений: 3
Отправлено: 24 Апр, 2003 г. - 17:06   
Подскажите, как настроить процессор, чтобы при появлении исключений FPU генерировалось int 75h?
 
SlavaI

Хороший работник
Хороший работник
Сообщений: 494
Отправлено: 24 Апр, 2003 г. - 17:12   
Я так понял это про реальный режим, то есть DOS.
Я уже ничего не помню, какие там векторы и где.

Но ответ такой- надо перепрограммировать контроллер прерываний- сменить ему базовый вектор, сделав так, чтобы твой FPU повесился на 75h.
Или сменить обработчик, то есть написать свой, который заменить стандартный обработчик( на каком он там векторе не помню) и из него вызовет твой посредством инструкции int 75h, только параметры подготовь как надо.

 
Spectrum

Новичок
Сообщений: 3
Отправлено: 24 Апр, 2003 г. - 17:26   
Обработчик-то я написал и на вектор повесил, но по умолчанию сопроцессор сам обрабатывает исключения. Чтобы генерилось int 75, нужно сбросить бит 5 в регистре cr0 (по документации), но у меня все равно прерываний не появилось.
 
SlavaI

Хороший работник
Хороший работник
Сообщений: 494
Отправлено: 24 Апр, 2003 г. - 17:32   
Quote:
Обработчик-то я написал и на вектор повесил, но по умолчанию сопроцессор сам обрабатывает исключения. Чтобы генерилось int 75, нужно сбросить бит 5 в регистре cr0 (по документации), но у меня все равно прерываний не появилось.



Ну прямо не знаю. Подумаю.

 
SlavaI

Хороший работник
Хороший работник
Сообщений: 494
Отправлено: 24 Апр, 2003 г. - 17:38   
А вот еще- у контроллера прерываний может быть замаскировано IRQ13. По моему по умолчанию так и сделано.
 
Spectrum

Новичок
Сообщений: 3
Отправлено: 24 Апр, 2003 г. - 17:50   
Ол райт, сбросил маски в регистре управления FPU --> ВСЁ РАБОТАЕТ! Спасибо за советы, Slava..