有一些“主管”位不允许“用户空间”执行以下操作: mov CS, 200h ?
有什么样的保护?
谢谢
在实际的8086 CPU 上?我不这么认为。高级保护功能只是在 80286 上才真正开始出现。对于 8086 上哪些程序可以设置代码段没有任何限制。
在处于保护模式的 80386 上(我认为这是第一个提供此功能的,但可能是 80286),CS(以及 DS、ES 等)中的值从段寄存器更改为选择器,它们必须在描述符表中有条目(例如:GDT、LDT)。
那时,保护成为可能,但我不认为是加载到选择器寄存器中导致了违规。而是使用高于您的权限级别的选择器。
虽然,对于 CS,在你改变它之后会很快发生(当你试图执行下一条指令时)。
请参阅此处了解更多信息。