您好、欢迎来到现金彩票网!
当前位置:秒速快三 > 数据寄存器 >

段寄存器有什么作用

发布时间:2019-06-07 06:12 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  推荐于2017-11-29展开全部1, 代码段寄存器CS:存放当前正在运行的程序代码所在段的段基值,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供。

  2, 数据段寄存器DS:指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基值。

  4, 附加段寄存器ES:指出当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段。

  段寄存器里放的是地址还是数据还是其他的东西?是放的段基值,通俗说就是段的起始点(具体地址是段基值+偏移),这个数值是地址不是数据。

  展开全部远古时期,段寄存器确实如楼上所说的,指定某一段数据在哪存放的,长度是多少。

  但是现在段寄存器的作用更多的是控制权限,我们可以通过OD,windbg等调式工具看到每个进程的寄存器的值,其中包括段寄存器,CS DS SS FS ES GS 等等。。每一个段寄存器里面的数据可以看作是一个结构体。包括,16位段选择子,32位的Base(基址),32位的Limit(长度),16位的Attribute(属性),总共96位。

  不难发现,好几个段寄存器里的Base都是 0 , Limit 都是FFFFFFFF,都知道每个进程有虚拟的独立的4GB空间,0 - FFFFFFFF 可以查找的范围刚好就是4GB,但是有很多地方在用户态(可以理解为我们自己写的程序)是访问不了的,要想访问那些访问不了的地方,就要修改段寄存器的值,来达到能访问的目的。

http://harpoolbrothers.com/shujujicunqi/294.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有