没错。今天我已经花了三个多小时尝试理解为什么在保护模式下无法调用BIOS ISR。我明白一旦设置了IDT,它不一定会在IVT的常规地址中,加上在保护模式下段没有固定大小等等。但是我仍然不明白为什么你不能创建一个单独的4GB段,将IDT段映射到BIOS IVT,将所有内容设置在ring 0中并进行调用。这样行不行呢?
大多数文章要么说:“记住,在保护模式下不能使用BIOS中断!”而不深入探讨这个问题,要么非常描述性,引用陷阱、异常、图片重映射、缺少权限和段寄存器问题作为其原因。
如果有人能提供一个更加人性化的解释,那将非常有帮助... 我不怀疑文章所说的,我只是想理解为什么这是如此“麻烦”!
先谢谢了!