首页
社区
课程
招聘
[求助]请教X386保护问题
发表于: 2012-1-1 20:20 4312

[求助]请教X386保护问题

2012-1-1 20:20
4312
设段A的基地址等于00012345H,段界限等于5678H,并且段界限以字节为单位(G=0),那么段A对应线性地址空间中从00012345H-000179BDH的区域。如果段界限以4K字节为单位 (G=1),那么段A对应线性地址空间中从00012345H-0568B344H(=00012345H+5678000H+0FFFH) 的区域。
问题一:
00012345H-000179BDH  这个算式中000179BDH  这个是怎么算出来的
问题二:
5678000H+0FFFH 这个算式中  5678000H是什么意思,为什么不是00005678呢 还有就是+0FFFH这个是一个意思。
请高手不吝赐教

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 623
活跃值: (40)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
段 limit 值的计算是:
(1):G=0 时,段 limit 等于段描述符的 limit 域
(2):G=1 时,段 limit 等于段描述符的 limit 域 * 4K + 0xFFF

问题一:
00012345H-000179BDH  这个算式中000179BDH  这个是怎么算出来的

>>> G=0 时,段 limit = 5678H,
       地址区域是:base 到  base + limit 之间,也就是 00012345H 到 00012345H + 5678H = 000179BDH

问题二:
5678000H+0FFFH 这个算式中  5678000H是什么意思,为什么不是00005678呢 还有就是+0FFFH这个是一个意思。

>>> G=1 时,段 limit = 5678H * 4K + 0xFFF = 5678H * 1000H + 0xFFF = 5678000H + FFFh

>>> 关于 FFFh:这是 4 K粒度的最大值,4K 范围是: 000H - FFFh。 加上 FFFh 最获得到一个完整的 4K 限
2012-1-1 22:10
0
雪    币: 159
活跃值: (80)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
应该是杨季文书上的例子,主体思想就是段界限是个计数,不代表具体的字节数
问题一解:
当G=0时,段界限代表字节的计数,5678H代表这个段总共有5678H个字节,所以12345H+5678H=179BDH,相信这个你应该明白了.
问题二解:
G=1,这时段界限是给4K作计数的,4K=1000H,也就是5678H*1000H=5678000H.以下是书上原话:20位的段界限可表示范围4K-4G个字节,1024个4K是4G,也就是说0H已经代表了一个4K,这时假如段界限是1H的话,实际上我们需要累计的地址是8K,结论就是加完段界限后,我们还得额外加上FFFH个字节,算上边界,正好多加了个4K个字节,不知你看懂了没,其实好好看看书就能明白了.不懂就画个图,特别要注意边界
2012-1-1 22:19
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
在看雪问问,总有高人呀。。。谢谢楼上两位。。。无限谢过
2012-1-1 22:55
0
游客
登录 | 注册 方可回帖
返回
//