面简单地介绍说明了把选择子装入代码段寄存器CS时为实现保护而进行检测下面也简单地介绍说明在把选择子装入数据段寄存器和堆栈段寄存器时要进行检测
在把选择子装入数据段寄存器DS、ES、FS或GS时要进行如下检测:
(1)选择子不能为空;
(2)选择子指定描述符必须是数据段描述符、可读可执行代码段或致可读可执行代码段描述符;
(3)对于数据段和可读可执行代码段要求CPL<=DPLRPL<=DPL;
(4)对应段必须存在
若装入选择子不满足上述要求则会产生异常
在把选择子装入堆栈段寄存器SS时要进行如下检测:
(1)选择子不能为空;
(2)选择子指定描述符必须是可读写数据段描述符;
(3)要求CPL=DPL=RPL;
(4)对应段必须存在
若装入选择子不满足上述条件则在装入SS时就会引起异常
最新评论