保护模式下的段寄存器值转化为线性地址过程

关键字:
段寄存器、段选择子、全局描述符表、局部描述符表、段描述符、线性地址;

    保护模式下使用段机制的CS,SS,DS,ESt,FS,GS保存的并不是实模式下的段地址,而是一个包含了段选择子和偏移地址的组合值。CPU在读取内存的时候,需要将段寄存器的值解析成为段地址,才能定位找到相应的段。下面我们一步一步解析这个过程。
    知识点:
    段寄存器值=段选择子,简单来说,段选择子就是用来指定段描述符的位置的一个值。



    段选择子格式:


低0-1位表示特权级,为减少复杂度,目前不关注。低第2位表示指定的是描述符表是GDT(0)还是LDT(1),第3-15位指示段描述符在段描述表中的序号,很关键。

    全局描述符表,一个系统只有一个全局描述符表,用来存放一些全局的段描述符(下面有讲述这个术语)。全局描述符表第一个项值规定是空值。全局描述符表的首地址由GDTR寄存器给出,这个值是线性地址,不需要解析。

    GDTR的是一个48位的值,16-47位范围共32位(Base Address)的GDT基地址,0-15位范围共16位(Limit)表示GDT表的大小(以字节计算)。
       在windbg内核模式,可以用r gdtr命令列出32位的基地址,用rgdtl列出16位的GDT大小值。
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、课程设计的内容 电英汉词典设计 一、问题描述: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电 英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。 二、功能描述: 1、在计算机中建立有限规模的电英汉词典(文件),利用程序实现电英汉词典的查 找、增词、删除、修改和维护工作。 2、词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格 符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为 多个释义的分隔符(无空格)。 3、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于 200条。 4、采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入Y 或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。 仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出 或不存盘退出。 5、要求整个设计以人为本,用户界面友好。 二、课程设计的要求与数据 1、进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程序设计的思想和方法; 3、初步掌握开发一个小实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图示算法; 6、掌握书写程序设计开发文档的能力。 三、课程设计应完成的工作 1、编写完成相应题目的程序; 2、编写课程设计报告,课程设计报告的内容应包括以下6个部分: 1) 需求分析:包括设计题目、设计要求以及系统功能需求分析; 2) 总体设计:包括系统总体设计框架和系统功能模块图; 3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图; 4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在 问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的 包含结果截图); 5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改 进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建等 内容; 6) 附录:主要源程序代码,含必要的注释。 3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解 决问题、运行程序和回答教师提出的问题 四、课程设计进程安排 "序号 "设计各阶内容 "地点 "起止日期 " "1 "下达任务书,说明设计要求;收集资料"实验3#517 "6.18 " "2 "总体方案设计、详细设计 "实验3#517 "6.19 " "3 "编写程序,调试分析 "实验3#517 "6.20 " "4 "撰写报告并上交,答辩 "实验3#517 "6.21 " 五、应收集的资料及主要参考文献 [1] 谭浩强.C程序设计(第三版)[M],北京:清华大学出版社,2005.9 [2] 谭浩强. C程序设计题解与上机指导(第三版)[M],北京:清华大学出版社,2005.7 [3] 李春葆 曾平 刘斌。C++语言程序设计题典第一版 北京 清华大学出版社 2003年4月 [5] 刘振安 刘燕君 C++程序设计课程设计第一版 机械工业出版社 2004年8月 发出任务书日期: 2007年 6 月 18 日 指导教师签名: 计划完成日期: 2007年 6 月 22 日 基层教学单位责任人签章: 主管院长签章: 目 录 1 设计目的与要求……………………………………………………………1页码 2 总体设计……………………………………………………………………2页码 3 详细设计……………………………………………………………… 2—3页码 3.1功能模块设计…………………………………………………… 2-3页码 3.1.1查询单词功能模块…………………………………… 2 页码 3.1.1添加单词功能模块…………………………………… 3页码 3.1.1删除单词功能模块………………………………………… 3 页码 3.2数据结构设计……………………………………………………… 3页码 4调试分析 …………………………………………… 4-5页码 5 总结……………………………………………………………………… 6页码 6 附录…………………………………………………………………6-10页码 6 答辩记录(正文处请留出适当空白) …………………………………11页码 7 指导教师意见(正文处请留出十行空白) ……………………………11页码 1 目的与要求  课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发 及程序调试能力。  课程设计为学生提供了一个既动手又动

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值