段描述符S位,TYPE域

段描述符S位,TYPE域

https://i-blog.csdnimg.cn/blog_migrate/ca1db6e36c52852800291b3ffb84ce60.png

S=1,表示代码段/数据段;

S=0,表示系统段。

Type 类型描述如下表:

类型域

描述

十进制

数据段

 

 

E

W

A

0

0

0

0

0

只读

1

0

0

0

1

只读,可访问

2

0

0

1

0

可读,可写

3

0

0

1

1

可读,可写,可访问

4

0

1

0

0

只读,向低扩展

5

0

1

0

1

只读,向低扩展,可访问

6

0

1

1

0

可读,可写,向低扩展

7

0

1

1

1

可读,可写,向低扩展,可访问

 

代码段

 

 

 

C

R

A

 

8

1

0

0

0

只执行

9

1

0

0

1

只执行,可访问

10

1

0

1

0

可执行,可读

11

1

0

1

1

可执行,可读,可访问

12

1

1

0

0

 

13

1

1

0

1

 

14

1

1

1

0

 

15

1

1

1

1

 

数据段

A 访问位,表示该位最后一次被操作系统清零后,该段是否被访问过.每当处理器将该段选择符置入某个段寄存器时,就将该位置1.

W 是否可写

E 扩展方向

E=0,表示向上扩展,windows只使用向上扩展;E=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

 

5.系统段描述符

当S=0时,该段描述符为系统描述符.系统描述符有分为以下类型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值