您当前的位置:首页 > 文章摘抄 > 正文

CPU的通用寄存器分为哪些?CPU中有哪些主要寄存器

ES中存放该数据段的段基地址,DS中存放数据段的段基地址,CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW),CPU的通用寄存器分为哪些寄存器是CPU内部重要的数据存储资源,CPU中有哪些主要寄存器不同架构的CPU寄存器是不一样的,数据段寄存器,通用寄存器的“通用“是指什么通用寄存器的“通用“是指都可以存放数据,附加段是为某些串操作指令存放目的操作数而附近的一个数据段。

CPU的通用寄存器分为哪些

寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。

根据指令的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一项细致而又周密的工作。16位寄存器组,16位CPU所含有的寄存器有(见图2.1中16位寄存器部分):4个数据寄存器(AX、BX、CX和DX);2个变址和指针寄存器(SI和DI)2个指针寄存器(SP和BP);4个段寄存器(ES、CS、SS和DS);1个指令指针寄存器(IP)1个标志寄存器(Flags);32位寄存器组,32位CPU除了包含了先前CPU的所有寄存器,并把通用寄存器、指令指针和标志寄存器从16位扩充成32位之外,还增加了2个16位的段寄存器:FS和GS。32位CPU所含有的寄存器有,4个数据寄存器(EAX、EBX、ECX和EDX);2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP);6个段寄存器(ES、CS、SS、DS、FS和GS);1个指令指针寄存器(EIP)1个标志寄存器(EFlags)。

CPU中有哪些主要寄存器

不同架构的CPU寄存器是不一样的,即使是同一架构,不同型号的CPU也有差别。这里以80386的CPU为例,寄存器分为6类。其中可供应用程序员使用的为通用寄存器(EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI)、段寄存器(CS、DS、SS、ES、FS、GS)和标志和控制寄存器(EIP、EFLAGS)。

可以指定任何通用寄存器的内容作为操作数的地址,以及在形成地址的过程中作如加法或减法这样简单的算术运算。但像串的运算和双精度的乘法和除法操作这类较复杂的操作,必须要从固定的寄存器中取一个或多个操作数。

寄存器的特点:

在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。

CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。

以上内容参考:

百度百科-内存资料寄存器

通用寄存器和专用寄存器有什么区别和联系

对于8086的系统:1.寄存器按照功能的不同可分为通用寄存器(AX,BX,CX,DX,SP,BP,SI,DI。其中的前四个寄存器可分别分成AH,AL ;BH,BL;CH,CL;DH,DL的八位寄存器)、指令指针寄存器(IP)、标志寄存器(FLAGS)、段寄存器(CS,DS,ES,SS)。它们的区别和联系体现在它们的功能上,对它们的深入了解和正确运用需要通过编写程序来实现。2.大致功能如下:AX,可存放一般数据,而且可作为累加器使用;BX,可存放一般数据,而且可用来存放数据的指针(偏移地址),常常和DS寄存器连用;CX,可存放一般数据,而且可用来做计数器,常常将循环次数用它来存放;DX,可存放一般数据,而且可用来存放乘法运算产生的部分积,或用来存放输入输出的端口地址(指针);SP,用于寻址一个称为堆栈的存储区,通过它来访问堆栈数据;BP,可存放一般数据,用来存放访问堆栈段的一个数据区,作为基地址;SI,可存放一般数据,还可用于串操作中,存放源地址,对一串数据访问;DI,可存放一般数据,还可用于串操作中,存放目的地址,对一串数据访问;IP,用于寻址当前需要取出的指令字节,程序员不能对它直接操作;FLAGS,用于指示微处理器的状态并控制它的操作;CS,代码段寄存器,代码段是一个存储区域,存放的是CPU要使用的代码,CS存放代码段的段基地址;DS,数据段寄存器,数据段是包含程序使用的大部分数据的存储区,DS中存放数据段的段基地址;ES,附加段寄存器,附加段是为某些串操作指令存放目的操作数而附近的一个数据段,ES中存放该数据段的段基地址;SS,堆栈段寄存器,堆栈段是内存中一个特殊的存储区,用于暂时存放程序运行时所需的数据或地址信息。SS中存放该存储区的段基地址。基本功能就是这些,要想透彻掌握深层的寄存器功能,必须要编写汇编源程序,可用微软的masm汇编程序进行编译,用dos系统自带的debug命令调试,直到程序正确运行,才能体会其中的奥妙。最后,还是用我的导师给我的一句话吧:“记住,学好汇编语言最重要的环节永远是上机调试出正确程序!” 共勉!

通用寄存器的“通用“是指什么

通用寄存器的“通用“是指都可以存放数据,共有8个16位的寄存器:AX,BX,CX,DX,BP,SI,DI,SP加法和减法操作时,上述的8个寄存器都可以用。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 宿迁特产有哪些呢,宿迁有啥特产(宿迁市的特色美食)

下一篇: 生化危机8剧情攻略 生化危机8剧情时长



推荐阅读