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