80x86微处理器寄存器结构

80x86微处理器结构

结构图如下图所示图中阴影部分不属于8086,80286,80386。

80x86可编程处理器结构

1、通用寄存器

寄存器定义32位寄存器16位寄存器功能
累加器EAXAX保存数据和作为某些指令的专用寄存器
基址寄存器EBXBX保存数据,16/32位可保存地址
计数器ECXCX保存数据和用于指令计数
数据寄存器EDXDX保存数据,乘除法专用寄存器
基址指针EBPBP保存地址,16位默认保存堆栈地址
堆栈指针ESPSP保存堆栈栈顶指针
源变址寄存器ESISI保存数据,串操作时保存源数据地址
目标变址寄存器EDIDI保存数据,串操作时保存目标数据地址

2、段寄存器

段名功能段寄存器
代码段用于存放程序地址CS
数据段用于存放程序数据DS
堆栈段用于存放程序中间结果SS
附加段用于存放数据ES
附加段用于存放数据FS
附加段用于存放数据GS

32位微处理器中段寄存器分为两部分,一部分是编程可见的选择符寄存器,为6个16寄存器,在另一部分,还有6个64位段描述符告诉缓冲寄存器和其对应。
在实地址或者虚拟8086方式下,段描述符告诉缓冲寄存器不起作用,选择符寄存器退化成16位微处理器的段寄存器功能,段寄存器直接存放某个内存段的段基地址,段长在1B~64KB内。
在保护模式下,系统采用描述符表来描述不同段的起始地址和长度,段长在1B~4GB内,而段寄存器存放段选择符。该选择符可以从描述符表中选择一个描述段起始地址和长度的描述符。

3、专用寄存器

3.1 指令指针EIP/IP

指令指针其内容是下一条要取入的微处理器的指令在内存中的偏移地址。一个程序开始运行时,系统会把EIP清零,每取入一条指令,EIP自动增加取入该微处理器的指令的偏移地址。

3.2 EFLAGS/FLAGS

指示微处理器的控制状态和运算状态,分为3类:运算状态标志、控制状态标志和系统状态标志

4、系统地址寄存器

  • 全局描述符表寄存器GDTR
    48位寄存器,32位线性基地址和16位的界限值
  • 中断描述符表寄存器IDTR
    48位寄存器,32位线性基地址和16位的界限值
  • 局部描述符表寄存器LDTR
    16位寄存器,用来存放全局描述符表GDT中查询局部描述符表LDT描述符的16位选择符。
  • 任务状态寄存器TR
    16位寄存器,用来存放全局描述符表GDT中查询局部描述符表查找任务堆栈段TSS描述符的16位选择符。

5、控制寄存器

控制寄存器共4个,各32位。用来存放全局性与任务无关的机器状态。分别为CR0,CR1,CR2,CR3。

6、测试寄存器

测试寄存器有5个,各32位,表示为TR3~TR7。

7、调试寄存器

调试寄存器有8个,各32位,表示为DR0~DR7。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值