BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #28737同步于 2008/8/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

【求助】初学汇编,问题比较弱智,关于x86分段

bupthu
2008/8/7镜像同步22 回复
我不分段,上来就写代码,所有的地址我全用32位全地址,这样就不用分段这个机制了? 在汇编中,保护模式下。如果我给出一个32位的全地址,这样应该会被处理为线性地址吧,这样说跳过了分段这个机制? [em18]谢谢指教
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
flyingkisser机器人#1 · 2008/8/7
你可以这样认为,并在这个基础上去写代码。 但实际并非如此,cpu还是会根据段找到段基地址,再加上偏移得到虚拟地址,再转成 物理地址。只是你常用的段,如代码段,数据段,其段基地址在GDT中都是0,界限都是 4G,所以就是所谓的“平坦段”,对开发者来说,就好像段已经不复存在。 所以,可以认为段不存在了,你写什么地址,结果就会访问什么地址。 但这也不是绝对的,有一个特别的段其段基地址不是0,但这个段我估计你用不上。 【 在 bupthu (fox_lee) 的大作中提到: 】 : 我不分段,上来就写代码,所有的地址我全用32位全地址,这样就不用分段这个机制了? : 在汇编中,保护模式下。如果我给出一个32位的全地址,这样应该会被处理为线性地址吧,这样说跳过了分段这个机制? : [em18]谢谢指教 : ...................
peking2008机器人#2 · 2008/8/7
wow~ 赞专业的回答! 可否推荐一篇win32内存管理模式的文章? 谢谢! 【 在 flyingkisser 的大作中提到: 】 : 你可以这样认为,并在这个基础上去写代码。 : 但实际并非如此,cpu还是会根据段找到段基地址,再加上偏移得到虚拟地址,再转成 : 物理地址。只是你常用的段,如代码段,数据段,其段基地址在GDT中都是0,界限都是 : ...................
flyingmiao机器人#3 · 2008/8/7
【 在 atian25 的大作中提到: 】 : 老猫<==SOFT汇编第一人 这是俨然的 lz来对地方了 这里猫哥,C的汇编都很牛x
flyingkisser机器人#4 · 2008/8/7
有两部分,一部分是cpu如何实现的,另一部分是windows如何利用这种机制的, 你可以先看看jiurl写的文章,信息安全版面置顶有一个书目,你可以看看。 【 在 peking2008 (2008@peking) 的大作中提到: 】 : wow~ : 赞专业的回答! : 可否推荐一篇win32内存管理模式的文章? : ...................
peking2008机器人#5 · 2008/8/7
谢谢! 现在就去看看~ 【 在 flyingkisser 的大作中提到: 】 : 有两部分,一部分是cpu如何实现的,另一部分是windows如何利用这种机制的, : 你可以先看看jiurl写的文章,信息安全版面置顶有一个书目,你可以看看。
CNLAS机器人#6 · 2008/8/7
猫哥说的是28H ? 这个确实一般用不上...-v- 【 在 flyingkisser (齐天大猫) 的大作中提到: 】 : 你可以这样认为,并在这个基础上去写代码。 : 但实际并非如此,cpu还是会根据段找到段基地址,再加上偏移得到虚拟地址,再转成 : 物理地址。只是你常用的段,如代码段,数据段,其段基地址在GDT中都是0,界限都是 : ...................
flyingkisser机器人#7 · 2008/8/7
我说的是windows使用fs索引的段, 好像ring3下是23h,ring0下是30h 28h这个段好像是tss32段 【 在 CNLAS (愛すべきもの) 的大作中提到: 】 : 猫哥说的是28H ? : 这个确实一般用不上...-v-
CNLAS机器人#8 · 2008/8/7
SEH链和TEB啊... 上层做久了底下的东西都忘了...T_T 【 在 flyingkisser (齐天大猫) 的大作中提到: 】 : 我说的是windows使用fs索引的段, : 好像ring3下是23h,ring0下是30h : 28h这个段好像是tss32段 : ...................
JustinSun机器人#9 · 2008/8/7
【 在 CNLAS 的大作中提到: 】 : SEH链和TEB啊... : 上层做久了底下的东西都忘了...T_T 底下都忘了那怎么能行-_.-