在x86中,在设置PE位CR0后,我们执行远程JMP以确保CS/EIP已更改。当我看到在x86的程序员手册中的逻辑流程,与此对应远JMP指令(保护模式),我看到这样的事情:x86从实模式切换到保护模式CPL(当前权限级别)
Set RPL field of CS register to CPL;
我想,以确保优先级为0。假设是DPL描述符中也是0,远端JMP中的选择器中的RPL也是0.描述符中的C位为0,所以它是非符合代码段的情况。该手册说CPL是CS中的最后两位。这意味着,在远的JMP之前,CS应该包含一个最后两位为00的值。因此,当我最初处于实模式时,我应该确保CS在I之前具有符合此条件的某个值执行远远的JMP? 如果我要重述一下,当我们从实模式切换到保护模式时,CPL是多少?
不错的问题,顺便说一句。当我开始使用这些东西的时候,我想了好几个月。 – Downvoter
谢谢,cad。尽管如此,我的脑袋正在旋转着,在你的回复中嵌入了如此多的嵌套信息。我想这可能需要我花几个月的时间来吸收它们。但在此之前我需要了解很多,因为我很快就会登上老师的领奖台。 – Kamalakshi