一、段描述符S位

S=1,表示代码段/数据段;
S=0,表示系统段。

二、段描述符TYPE域

TYPE域共4位,可以通过查表来确定其含义。

TYPE域高位为0时,表示数据段;高位为1时,表示代码段。

数据段

E=0,表示向上扩展,windows只使用向上扩展;E=1,表示向下扩展。


以上图为例,使用向上扩展,段的范围就是红色部分;使用向下扩展,段的范围就是绿色部分。

A=0,表示段未被访问;A=1,表示段曾被访问。

代码段

C=0,表示非一致代码段;C=1,表示一致代码段。
R=0,表示不可读;R=1,表示可读。
A=0,表示段未被访问;A=1,表示段曾被访问。

三、练习

1、判断哪些是系统段描述符?哪些是代码或者数据段描述符?
看S位,高4字节的第5个十六进制字符的最低位就是S位。

这里的‘9’是1001,S=1,就是代码段或数据段。

这里的8是1000,S=0,就是系统段。

2、判断哪些是代码段描述符?哪些是数据段描述符?
根据题意,先找几个S=1的来分析、。
00cf9300 0000ffff
type=0x3=0011
最高位是0,是数据段。

00cffb00 0000ffff
type=0xb=1011
最高位是1,是代码段。

3、拆分几个数据段:E W A
00cf9300 0000ffff
0x3=0011
E:0
W:1
A:1

4、拆分几个代码段:C R A
00cffb00 0000ffff
0xb=1011
C:0
R:1
A:1

5、拆分几个系统段描述符
80008b04 200020ab
0x8=1000,S=0,所以是系统段;
0xb=1011

四、系统段描述符表

查表得 32-Bit TSS(Busy)

(5)段描述符S位,TYPE域相关推荐

  1. 分段管理机制(段描述符,描述符表,段选择符)

    逻辑地址-=>线性地址-=>物理地址 前面我们提到了当使用80x86微处理器时,有三种不同的地址: 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条 ...

  2. (4)段描述符P,G位

    一.回顾 在前面的课程学习中我们了解到,段寄存器有96位,其中80位不可见,包括Base,limit,attribute.16位可见,即段选择子selector. 对段寄存器进行写入时,CPU根据段选 ...

  3. 用户层CS段描述符信息

    接着上一篇"内核层CS段描述符信息"https://blog.csdn.net/yusakul/article/details/80724748 Windbg命令窗口输入命令:g, ...

  4. (3)段描述符,段选择子,LES指令

    一.段描述符 GDT表里面存的东西叫段描述符,一个段描述符占8字节,结构如下 暂时不需要知道各个位的作用,先练习一下拆分,在windbg中输入以下命令,打印GDT表. 这里我们打印了GDT表的前5个段 ...

  5. 数据段描述符和代码段描述符(二)——《x86汇编语言:从实模式到保护模式》读书笔记11

    这篇博文,我们编写一个C语言的小程序,来解析数据段或者代码段描述符的各个字段.这样我们阅读原书的代码就会方便一点,只要运行这个小程序,就可以明白程序中定义的数据段或者代码段的描述符了. 这段代码,我用 ...

  6. 数据段描述符和代码段描述符(一)——《x86汇编语言:从实模式到保护模式》读书笔记10

    一.段描述符的分类 在上一篇博文中已经说过,为了使用段,我们必须要创建段描述符.80X86中有各种各样的段描述符,下图展示了它们的分类. 看了上图,你也许会说:天啊,怎么这么多段描述符啊!我可怎么记住 ...

  7. 【OS学习笔记】十四 保护模式二:段描述符

    上一篇文章初步进入保护模式的学习.首先学习了全局描述符表GDT.点击链接查看上一篇文章:全局描述符表 本篇文章继续学习,GDT中存放的条目:描述符,确切的说是段描述符.学习段描述符的作用以及段描述符的 ...

  8. 段选择符和段描述符的关系

    段选择符用来表示指向哪个段描述符,即用来在段描述符中寻址,前13位是地址,能寻0到(2^13)-1,因此段描述符表的大小就是 8192,他还牵扯到一些特权级的限制,后三位:段描述符是用来表示这个段的一 ...

  9. (2) [保护模式]段描述符

    段描述符 1. 段选择子 2. 段描述符 注解: 段选择子index的使用 查GDT表填充段寄存器 向上拓展与向下拓展 一致代码段与非一致代码段 隐式堆栈访问 如果文中有错误,还请指正 1. 段选择子 ...

最新文章

  1. python操作MySQL实例
  2. mysql t-sql,将T-SQL转换为MySQL
  3. Java zip解压,并遍历zip中的配置文件 .cfg或.properties
  4. java中重载 参数顺序_Java方法中的参数太多,第4部分:重载
  5. svg path绘制心形_SVG 菜鸟的 Recharts 自定义图表实战
  6. HPUX11.31环境下,更换HBA卡后的配置操作(HP-UX)
  7. vue(vue-cli+vue-router)+babel+webpack项目搭建入门(四)
  8. question1 赋值运算操作符
  9. 互联网轻量级框架SSM-查缺补漏第八天(MyBatis插件plugin使用及原理)
  10. PyCharm免费版安装使用
  11. 启明星win7桌面天气预报软件下载与使用方法(带时间)
  12. 解决egret引擎List虚拟布局不同高度Item对象重用时导致的布局异常问题
  13. UE4母材质之法线贴图
  14. totolink服务器未响应,totolink路由器登陆页面打不开怎么办
  15. 印度网站前50名都是做什么的
  16. 中国十大徒步路线,你走过几个?_我是亲民_新浪博客
  17. LOCK is not allowed in stored procedures
  18. 贝叶斯统计推断_统计推断对决:频繁主义者与贝叶斯主义者
  19. H.323 and Associated Protocols
  20. 信号与系统(二十一)——无失真传输和理想低通滤波器

热门文章

  1. 后处理编辑修改_NX后处理打开报错处理方法
  2. DL之GD:利用LogisticGD算法(梯度下降)依次基于一次函数和二次函数分布的数据集实现二分类预测(超平面可视化)
  3. ML之NB、LoR:基于NB和LoR算法对Kaggle IMDB影评数据集(国外类似豆瓣电影)情感分析进行分类
  4. 成功解决getaddrinfo:请求的名称有效,但是找不到请求的类型的数据。(11004
  5. Py之matplotlibseaborn :matplotlibseaborn绘图的高级进阶之高级图可视化(基础图(直方图等),箱线图、密度图、小提琴图等)简介、案例应用之详细攻略
  6. ML之xgboost:利用xgboost算法(结合sklearn)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  7. 【开源】接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!...
  8. Entity Framework异步查询和保存
  9. 飘逸的python - 鲜为人知的参数
  10. 文档null一段 虚拟机操作