首页
社区
课程
招聘
75032329 EA 1E270375 330>jmp far 0033:7503271E这个far 0033:是什么意思
发表于: 2015-7-17 12:14 5369

75032329 EA 1E270375 330>jmp far 0033:7503271E这个far 0033:是什么意思

2015-7-17 12:14
5369
75032329    EA 1E270375 330>jmp far 0033:7503271E
这个far 0033:是什么意思

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
远程跳转到0033段的7503271E
2015-7-17 12:39
0
雪    币: 7
活跃值: (125)
能力值: ( 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
2015-7-18 23:06
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
LS正解,说得太详细了
2015-7-19 10:53
0
游客
登录 | 注册 方可回帖
返回
//