Почему я не могу вызывать прерывания BIOS из защищенного режима?

Верно. Сегодня я потратил более трех часов, пытаясь понять, почему вы не можете вызвать ISR BIOS в защищенном режиме. Я понимаю, что после того, как вы установите и IDT, он не обязательно будет в обычном адресе для IVT, плюс сегменты не имеют фиксированного размера в защищенном режиме и т.д .. Но я все еще не понимаю, почему вы не можете просто создать один 4 ГБ сегмент, сопоставьте свои сегменты IDT с BIOS IVT, установите все в кольцо 0 и позвоните им. Разве это не должно работать?

В большинстве статей говорится: «Помните, что в защищенном режиме нельзя использовать прерывания BIOS!» без изучения предмета или являются чрезвычайно описательными и в качестве причины указывают ловушки, исключения, перемапирование изображений, отсутствие прав и проблемы с регистрами сегментов.

Было бы чрезвычайно полезно, если бы кто-нибудь мог придумать более понятное для человека объяснение ... Я не сомневаюсь в том, что говорится в статьях, я просто хочу понять, почему это такая «боль»!

Заранее спасибо!

13
задан Max 26 April 2011 в 18:46
поделиться