首页 > 常见问题 > 正文

段寄存器的种类和作用是什么

青灯夜游
发布: 2021-01-22 16:35:21
原创
13590 人浏览过

段寄存器的种类和作用:1、代码段寄存器CS,用于存放当前正在运行的程序代码所在段。2、数据段寄存器DS,用于存放数据段。3、堆栈段寄存器SS,存放堆栈段。4、附加段寄存器ES,存放当前程序使用附加数据段。

段寄存器的种类和作用是什么

本教程操作环境:windows7系统、Dell G3电脑。

段寄存器是因为对内存的分段管理而设置的。计算机需要对内存分段,以分配给不同的程序使用(类似于硬盘分页)。在描述内存分段时,需要有如下段的信息:1.段的大小;2.段的起始地址;3.段的管理属性(禁止写入/禁止执行/系统专用等)。需要用8个字节(64位)存储这些信息,但段寄存器只有16位,因此段寄存器中只能存储段号(segment selector,也译作“段选择符”),再由段号映射到存在内存中的GDT(global (segment) descriptor table,全局段号记录表),读取段的信息。

段寄存器:在8086系统中,访问存储器的地址码由段地址和段内偏移地址两部分组成。段寄存器用来存放各分段的逻辑基值,并指示当前正在使用的4个逻辑段,包括代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS和附加段数据寄存器ES。

种类和作用:

1、代码段寄存器CS(Code Segment)

存放当前正在运行的程序代码所在段的段基址,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移量则由IP提供。

2、数据段寄存器DS(Data Segment)

指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基址。

3、堆栈段寄存器SS(Stack Segment)

指出当前堆栈的底部地址,即存放堆栈段的段基址。

4、附加段寄存器ES(Extra Segment)

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

想要查阅更多相关文章,请访问PHP中文网!!

以上是段寄存器的种类和作用是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板