0xf*_*xff 2 paging x86 assembly protected-mode osdev
为什么我们必须将mov cr0和jmp指令放入身份映射的页面中?
我一直在使用谷歌搜索这个问题,但我无法理解结果。
当启用保护模式(而不是启用分页)时;您不需要确保页面是身份映射的。
当启用分页(可能同时启用保护模式)时,CPU 将尝试mov cr0从mov cr0. 处理这个最简单的方法是对页面进行身份映射,这样mov cr0物理内存之后的指令也将是mov cr0虚拟内存之后的指令。然而; 这不是严格要求的。例如,如果您将 安排mov cr0在页面的最后一个字节中(以便在启用分页后立即执行的指令将位于不同页面的开头),则包含 的页面mov cr0不需要是身份映射,下一页也不需要进行身份映射。