是否可以在不设置分页的情况下进入长模式



我目前正在尝试进入长模式,因为它提供了比16位实际模式更多的功能。不过到目前为止,我看到为了做到这一点,您必须设置分页,这非常令人困惑。

有没有一种方法可以进入长模式,同时继续使用更简单的段寄存器来寻址内存?

需要分页对于长模式,如果不首先设置4级或5级分页,则无法进入长模式。请参阅英特尔手册第3A卷第9.8.5节。具体地说,当启用寻呼设置CR0.PG为1时,进行转换检查,检查是否同时设置了CR4.PAE和IA32_EFER.LME,如果设置了,则进入IA32-e模式(英特尔的"长模式"名称(。

我目前正在尝试进入长模式,因为它提供了比16位真实模式更多的功能。

如果您处于真实模式(16位(;更多的能力";,在不设置页面表的情况下,最多可以进入保护模式(32位(,这不需要分页。OSDev Wiki有一个关于该主题的简单教程页面,其中包含工作代码。英特尔手册第3A卷第9.8节也介绍了该过程。

相关内容

最新更新