能力值:
( LV2,RANK:10 )
|
-
-
2 楼
远程跳转到0033段的7503271E
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
call / jmp selector:offset
这里的 selector 是 code segment selector 直接使用 selector 来索引 code segment,这将引发 CS 的改变,code segment descriptor 最终会被加载到 CS 寄存器里。
在 code segment descriptor 加载到 CS 之前,processor 会进行一系列的检查,包括权限检查、type 检查、limit 检查等,在通过检查后,processor 才加载 descriptor 到 CS,紧接着 eip = CS.base + offset,最后跳转到 cs:eip 执行。
段选择子(selector)0033
0000 0000 0101 0101
最低两位 01 表示特权级RPL = 1;特权级高的可以访问低的,低的不可以访问高的。
第三位的1表示在局部描述符表中找段描述符( code segment descriptor)。如果是0的话表示在全局描述符表中查找
高十三位表示的是段描述符的索引,在这里是第三个段描述符。
大概流程是这样的,都是大白话,可能有些地方描述的不准确,具体对段选择子的理解你可以找一本操作系统的书,里面说的很详细。
附上两个链接你参考下吧
http://blog.chinaunix.net/uid-587665-id-2732923.html
http://blog.csdn.net/weiweishuo/article/details/7932417
http://www.cnblogs.com/hicjiajia/archive/2012/05/25/2518684.html
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
LS正解,说得太详细了
|
|
|