标志寄存器32位标志寄存器EFLAGS指令指针EIP机器状态字CR0Intel保留CR1页面错误地址CR2页面目录地址CR3指令指针寄存器EIP存储下一条要执行的指令的偏移量,该偏移量是相对于当前运行的代码段寄存器CS的。

CPU中有哪些主要寄存器,简述这些寄存器的功能?

CPU中有哪些主要寄存器,简述这些寄存器的功能

不同架构的CPU寄存器是不一样的,即使是同一架构,不同型号的CPU也有差别。这里以80386的CPU为例,寄存器分为6类。其中可供应用程序员使用的为通用寄存器EAXEBXECXEDXESPEBPESIEDI段寄存器CSDSSSESFSGS和标志和控制寄存器EIPEFLAGS。

各寄存器介绍如下1通用寄存器32位EAX一般用作累加器EBX一般用作基址寄存器BaseECX一般用来计数CountEDX一般用来存放数据DataESP一般用作堆栈指针Stack PointerEBP一般用作基址指针Base PointerESI一般用作源变址Source IndexEDI一般用作目标变址Destinatin Index可以指定任何通用寄存器的内容作为操作数的地址,以及在形成地址的过程中作如加法或减法这样简单的算术运算。

但像串的运算和双精度的乘法和除法操作这类较复杂的操作,必须要从固定的寄存器中取一个或多个操作数。2段寄存器16位CS代码段寄存器DS数据段寄存器SS堆栈段寄存器ESFS 及GS附加数据段寄存器这些段寄存器中存放的不再是某个段的基地址,而是某个段的选择符Selector。因为16 位的寄存器无法存放32 位的段基地址,段基地址只好存放在段的描述符Descriptor中。

3标志和控制寄存器32位标志寄存器 EFLAGS指令指针 EIP机器状态字 CR0Intel 预留 CR1页故障地址 CR2页目录地址 CR3指令指针寄存器EIP中存放下一条将要执行指令的偏移量offset ,这个偏移量是相对于目前正在运行的代码段寄存器CS而言的。偏移量加上当前代码段的基地址,就形成了下一条指令的地址。

4系统地址寄存器全局描述符表寄存器GDTRGlobal Descriptor Table Register ,是48 位寄存器,用来保存全局描述符表GDT的32 位基地址和GDT 的大小16位。中断描述符表寄存器IDTRInterrupt Descriptor Table Register,是48 位寄存器,用来保存中断描述符表IDT的32 位基地址和IDT 的大小16位。

本地描述符表寄存器ldtrlocal描述符表寄存器是一个16位寄存器,它存储本地描述符表的LDT段的选择器。任务状态寄存器TRTask状态寄存器是一个16位寄存器,用来存储任务状态段TSS段的16位选择器。5调试寄存器和测试寄存器32位6测试寄存器TR6测试命令寄存器,存储测试控制命令。


文章TAG:intel 奔腾的寄存器组有哪些  寄存器  intel  组有  CPU  奔腾  
下一篇