段寄存器,笔记

段是什么?

段是管理内存的一种方法,因为物理内存就是一个一维的数组,用起来很不方便,所以要换一种方式来管理内存。

通常我们写程序的时候不管各种函数,库之类的东西存在内存的什么位置,这种看待程序的方法就是逻辑地址空间,段就是建立程序员视角和实际的物理地址空间的一种映射。

段中有一个叫做段描述符的东西,这个段描述符来描述该段的一些信息;段描述符位数较多,16位的段寄存器放不下,所以段寄存器只存放“数组下标”,把较长的段描述符存放在内存中;

找到GDT的方法是GDTR(一个寄存器),用来存放GDT的地址。

所以程序执行的时候

1.先从GDTR中读取GDT的地址

2.再根据段寄存器中的偏移量寻找到数据对象

3.最后将基地址和偏移量相加

段寄存器是什么?

段寄存器看着是16位,其实是96位,只不过其中的80位是不可见的。

其写入时,是写入96位,读取时只能读取前16位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值