微处理器寄存器(段寄存器)

段寄存器为16位寄存器,用于与微处理器中的其它寄存器联合生成存储器地址。

对于同一微处理器而言,段寄存器的功能在实模式下和保护模式下是不同的。

代码寄存器CS(Code Segment)

CS用于保存微处理器使用的代码,CS定义代码段的起始地址。

实模式下,CS定义一个64K字节存储器段的起点;保护模式下它选择一个描述代码段起始地址、长度及其他一些必要的属性信息(可读、可写、可被执行等)。

数据段寄存器DS(Data Segment)

DS是包含程序所使用的大部分数据的存储区。DS用于定义数据段的起始地址。

对于保护模式下80386及更高型号的微处理器,数据段长度限制为4GB

附加段寄存器ES(Extra Segment)

ES是用于为某些串操作指令存放目的操作数而附加的一个数据段。ES用于定义附加段的起始地址。

堆栈段寄存器SS(Stack Segment)

堆栈是存储器的一个特殊存储区,用于存放程序运行的一些数据和地址信息。

SS定义堆栈段的首地址。由堆栈段寄存器SS与堆栈指针寄存器SP/ESP确定堆栈段内的存储地址。另外BP/EBP也可用于寻址堆栈段内的数据。

段寄存器FS和GS

仅对80386及更高微处理器有效,以便程序访问两个附加的存储器段。

 

posted on 2019-09-17 18:23  rebel3  阅读(830)  评论(0编辑  收藏  举报

导航