Доброго всем времени суток!
Разбираюсь с таблицей векторов прерываний, и попал в тупиковую ситуацию...
В общем, как известно, IT располагается в самом начале адресного пространства, и в
реальном, и в защищенном режимах. На сколько я знаю, прерывания 10h и 13h - Это прерывания сервисов
дисковой и графической системы BIOS.
Как я понимаю, в этой-же таблице располагаются и вектора обработчиков ошибок, так-ведь?
ну там, прерывание 0h, вызываемое при делении на ноль, NMI...
если это так, то я не понимаю, почему вот эти вектора:
0x003C | 0x0F | Reserved
0x0040 | 0x10 | x87 FPU error
0x0044 | 0x11 | Alignment check
0x0048 | 0x12 | Machine check
0x004C | 0x13 | SIMD Floating-Point Exception
занимают места векторов BIOS? или же они располагаются в каких-то абсолютно разных
векторных таблицах? или они какие-то "контекстно зависимые"?
вопрос №2:
как обрабатываются IRQ и где хранятся их обработчики?
я где-то читал, что IRQ1-7 располагаются в таблице векторов прерываний, с 08h по 0Fh векторах и
IRQ8 - 15 в 70h - 77h.
Опять возникают непонятки х)
если это так, то почему они опять перекрывают вектора сервисов BIOS
?
Объясните мне кто-нибудь, как оно есть на самом деле!))))