Я видел такие программы, как загрузчики, которые создают прерывания типа int 10, int 13 и т. Д. Очевидно, что эти записи существовали не всегда, поэтому BIOS их загрузил? Если да, то какие прерывания загружает BIOS? Кроме того, можно ли перезаписать эти записи? Кстати, все это Intel x86.
BIOS автоматически загружает таблицу прерываний?
Ответы (1)
Да, BIOS загружает свою собственную таблицу прерываний при загрузке системы, а точнее, только когда она находится в реальном режиме, называемом IVT (таблица векторов прерываний). Он локализован в самом первом КБ оперативной памяти.
Теперь ваш вопрос, какие прерывания загружает BIOS? ну, это полностью зависит от производителя BIOS, когда впервые была представлена концепция прерываний BIOS. Многие производители решили реализовать тысячи вызовов BIOS. Но некоторые из них становятся очень стандартными и включаются во все BIOS. Некоторые из них перечислены ниже
0x10 --> Video
0x13 --> Disk
0x14 --> Serial Port
0x16 --> Keyboard
Ссылка: http://en.wikipedia.org/wiki/BIOS_interrupt_call#Interrupt_table
IDT в защищенном режиме является аналогом IVT, который сообщает процессору, где находится ISR в ОЗУ. Перезапись IVT в реальном режиме допустима до тех пор, пока вы не укажете его в нужном месте, иначе это вызовет тройную ошибку и сбросит ЦП.