(5)段描述符S位,TYPE域
一、段描述符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域相关推荐
- 分段管理机制(段描述符,描述符表,段选择符)
逻辑地址-=>线性地址-=>物理地址 前面我们提到了当使用80x86微处理器时,有三种不同的地址: 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条 ...
- (4)段描述符P,G位
一.回顾 在前面的课程学习中我们了解到,段寄存器有96位,其中80位不可见,包括Base,limit,attribute.16位可见,即段选择子selector. 对段寄存器进行写入时,CPU根据段选 ...
- 用户层CS段描述符信息
接着上一篇"内核层CS段描述符信息"https://blog.csdn.net/yusakul/article/details/80724748 Windbg命令窗口输入命令:g, ...
- (3)段描述符,段选择子,LES指令
一.段描述符 GDT表里面存的东西叫段描述符,一个段描述符占8字节,结构如下 暂时不需要知道各个位的作用,先练习一下拆分,在windbg中输入以下命令,打印GDT表. 这里我们打印了GDT表的前5个段 ...
- 数据段描述符和代码段描述符(二)——《x86汇编语言:从实模式到保护模式》读书笔记11
这篇博文,我们编写一个C语言的小程序,来解析数据段或者代码段描述符的各个字段.这样我们阅读原书的代码就会方便一点,只要运行这个小程序,就可以明白程序中定义的数据段或者代码段的描述符了. 这段代码,我用 ...
- 数据段描述符和代码段描述符(一)——《x86汇编语言:从实模式到保护模式》读书笔记10
一.段描述符的分类 在上一篇博文中已经说过,为了使用段,我们必须要创建段描述符.80X86中有各种各样的段描述符,下图展示了它们的分类. 看了上图,你也许会说:天啊,怎么这么多段描述符啊!我可怎么记住 ...
- 【OS学习笔记】十四 保护模式二:段描述符
上一篇文章初步进入保护模式的学习.首先学习了全局描述符表GDT.点击链接查看上一篇文章:全局描述符表 本篇文章继续学习,GDT中存放的条目:描述符,确切的说是段描述符.学习段描述符的作用以及段描述符的 ...
- 段选择符和段描述符的关系
段选择符用来表示指向哪个段描述符,即用来在段描述符中寻址,前13位是地址,能寻0到(2^13)-1,因此段描述符表的大小就是 8192,他还牵扯到一些特权级的限制,后三位:段描述符是用来表示这个段的一 ...
- (2) [保护模式]段描述符
段描述符 1. 段选择子 2. 段描述符 注解: 段选择子index的使用 查GDT表填充段寄存器 向上拓展与向下拓展 一致代码段与非一致代码段 隐式堆栈访问 如果文中有错误,还请指正 1. 段选择子 ...
最新文章
- python操作MySQL实例
- mysql t-sql,将T-SQL转换为MySQL
- Java zip解压,并遍历zip中的配置文件 .cfg或.properties
- java中重载 参数顺序_Java方法中的参数太多,第4部分:重载
- svg path绘制心形_SVG 菜鸟的 Recharts 自定义图表实战
- HPUX11.31环境下,更换HBA卡后的配置操作(HP-UX)
- vue(vue-cli+vue-router)+babel+webpack项目搭建入门(四)
- question1 赋值运算操作符
- 互联网轻量级框架SSM-查缺补漏第八天(MyBatis插件plugin使用及原理)
- PyCharm免费版安装使用
- 启明星win7桌面天气预报软件下载与使用方法(带时间)
- 解决egret引擎List虚拟布局不同高度Item对象重用时导致的布局异常问题
- UE4母材质之法线贴图
- totolink服务器未响应,totolink路由器登陆页面打不开怎么办
- 印度网站前50名都是做什么的
- 中国十大徒步路线,你走过几个?_我是亲民_新浪博客
- LOCK is not allowed in stored procedures
- 贝叶斯统计推断_统计推断对决:频繁主义者与贝叶斯主义者
- H.323 and Associated Protocols
- 信号与系统(二十一)——无失真传输和理想低通滤波器
热门文章
- 后处理编辑修改_NX后处理打开报错处理方法
- DL之GD:利用LogisticGD算法(梯度下降)依次基于一次函数和二次函数分布的数据集实现二分类预测(超平面可视化)
- ML之NB、LoR:基于NB和LoR算法对Kaggle IMDB影评数据集(国外类似豆瓣电影)情感分析进行分类
- 成功解决getaddrinfo:请求的名称有效,但是找不到请求的类型的数据。(11004
- Py之matplotlibseaborn :matplotlibseaborn绘图的高级进阶之高级图可视化(基础图(直方图等),箱线图、密度图、小提琴图等)简介、案例应用之详细攻略
- ML之xgboost:利用xgboost算法(结合sklearn)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
- 【开源】接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!...
- Entity Framework异步查询和保存
- 飘逸的python - 鲜为人知的参数
- 文档null一段 虚拟机操作