鱼C论坛

 找回密码
 立即注册
查看: 63094|回复: 481

[技术交流] 有史以来最详细完整的给你讲解保护模式寻址全过程,比小甲鱼还详细清晰!!!!!!

  [复制链接]
发表于 2014-2-14 15:17:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
哎,才来这个论坛几天,需要鱼币,买小甲鱼视频,在此发一些技术文章,如果觉得好,请回复。这里说一下intel系列汇编的寻址方式,8086和80286大家叫做16位汇编,采用的基址*16+偏移地址,这个不用说了,很简单,自从80386之后,采用32位地址和32位数据线,为了实现兼容,此时的寻址方式也支持以前的,这种叫做实模式,。现在有保护模式了,现在我就来说一下保护模式的寻址方式,纵观,很多书籍,无论神马罗云彬,还是于渊都没有说清楚我再次说一次,哎,语文不好,希望你可以看懂,现在开始!!!!!!!

1.明白一些东西,GDT,LDT,GDTR,LDTR,TSS,IDT,TR:
首先,看指令 mov eax,ds:[bx] ;ds=0x10,bx=0x0
你肯定会说是吧ds*16+bx=0x100地址的内容放到eax寄存器,不过不全对,在实模式下面是这样,但是在保护模式就不同了,
ds=1 0000B,,请百度段选择子结构,得到索引时10B也就是2,,然后去GDT全局描述表里面找第二个描述符(从0开始计算),描述符是一个8位的结构,里面包含了段基址,我们拿这个段基址*16+bx来找内存内容给eax,描述符呢,是8位的,包含段基址,段界限,颗粒度,段的权限DPL,和类型TYPE看是代码段还是数据段,还有s属性,汗蛋疼,,记得GDT里面可以有描述LDT和内核代码和数据段的描述符,IDT是不在GDT里面的,中断描述符,TSS是104位的,其最后8位开始时描述LDT的,蛋碎,LGDT是用来加载GDT的,LLDT用来加载LDT,SGDT是保存GDT的,SLDT用来保存LDT到内存,TR指向TSS的基地址,GDTR指向GDT基地址,。LDTR用来索引在GDT中的LDT描述符,然后找到LDT基地址,然后根据段选择子来查找,TSS也就是任务表,

汗啊,蛋疼,发现说不下去了,好多好多内容,要太监了,难怪那么多书籍没有写完整的了,我这样说你们懂吗,蛋疼!,发现教东西不是件简单的事情,!!!!!!
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 5荣誉 +16 鱼币 +24 贡献 +10 收起 理由
yxjxdb + 5 + 5 + 3
冬阳阳 + 3 + 3 收藏一下!
tianyuan + 1 + 3 + 1 感谢楼主无私奉献!
大黑鱼 + 3 感谢楼主无私奉献!
小甲鱼 + 10 + 10 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-2-14 15:20:02 | 显示全部楼层
你们还是自己百度GDT,LDT,TSS,IDT,LGDT,SGDT,LLDT,LIDT,SIDT,TSS,TR,段选择子,段描述符,中断描述符,陷阱描述符,任务描述符,调用门描述符,分页机制,百度明白之后不懂得在下面提问吧,我来一个个回答你们,蛋碎,教人如此困难!!!不知道从哪里说起
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 16:06:02 | 显示全部楼层
来看看~   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-14 17:00:06 | 显示全部楼层
哇塞碰到我的偶像甲鱼啊!!!甲鱼哥我也好喜欢海贼王啊,!!,好吧那我就耐心讲一下,是这样的一般情况下,只有一个GDT全局描述符表,里面存储着一堆的描述符,这些描述符用来描述内核的代码段,数据段,或者LDT表(在GDT里面有一种描述符专门用来描述LDT表的段基址),的内容,他们的结构图如下,下面是两个任务的切换的时候GDT还有LDT,IDT的内容图,
图片太大了,不能上传,我共享到云盘吧,大家来看看!!!!!

http://pan.baidu.com/s/1hqn4XUk
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 17:03:24 | 显示全部楼层
来看看,学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 17:49:21 | 显示全部楼层
支持下吧。打字这么辛苦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 18:19:50 | 显示全部楼层
学习了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 18:35:14 | 显示全部楼层

学习了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 20:18:09 | 显示全部楼层
你们还是自己百度GDT,LDT,TSS,IDT,LGDT,SGDT,LLDT,LIDT,SIDT,TSS,TR,段选择子,段描述符,中断描述符,陷阱描述符,任务描述符,调用门描述符,分页机制,百度明白之后不懂得在下面提问吧,我来一个个回答你们,蛋碎,教人如此困难!!!不知道从哪里说起
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 21:55:04 | 显示全部楼层
看看先。。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 22:07:52 | 显示全部楼层
本帖最后由 oggplay 于 2014-2-14 22:12 编辑

先把基本汇编指令搞清楚了,再研究操作系统。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 22:26:56 | 显示全部楼层
史以来最详细完整的给你讲解保护模式寻址全过程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 22:29:00 | 显示全部楼层
学习学习中~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 22:38:22 | 显示全部楼层
来看看,,,看看是不是真货
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 22:41:53 | 显示全部楼层
好东西必须收藏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-14 23:02:21 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-15 11:56:01 | 显示全部楼层
看来 还是有 很多  入门级问题 要深入啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-15 12:01:41 | 显示全部楼层
看来 还是有 很多  入门级问题 要深入啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-15 12:12:03 | 显示全部楼层
努力学习!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-15 14:06:00 | 显示全部楼层
看一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表