CPU内部寄存器

我们知道8088是一个16位 体系结构的CPU,意味着它能同时处理16位的二进制码,意味着它的总线是16位宽,意味着它内部的寄存器也是16位的
CPU内部寄存器_第1张图片
我们一定要理解这14个寄存器中的16位二进制码的含义

1. 通用寄存器

CPU内部寄存器_第2张图片

数据寄存器

CPU内部寄存器_第3张图片
这四个16位数据寄存器每个又可以独立的拆分为2个8位寄存器
这四个数据寄存器通用的功能就是用来暂时存放中间运算结果的

CPU内部寄存器_第4张图片
BX中可能存放的是运算数据,也可能数据存放的地址(根据它的指令表现形式区分,后面介绍)
DX处理I/O指令外,存放的一定是运算数据

地址指针寄存器

CPU内部寄存器_第5张图片

  • 只要有堆栈,SP一定是专用寄存器,作为栈顶指针来使用
  • 有堆栈的时候,BP不一定是专用寄存器,BP可以指向堆栈里的任意区域,可能是堆栈里某个区域的单元地址,也有可能就是运算数据

BX与BP的区别
CPU内部寄存器_第6张图片

  • 他们的共同点就是都可以用来存放某个单元的地址
  • 不同点是BX一般指向数据区域,而BP指向的是堆栈区

变址寄存器

CPU内部寄存器_第7张图片

2.控制寄存器

CPU内部寄存器_第8张图片

  • IP是指令指针,实际上就是程序计数器PC
  • FLAGS是标志寄存器,它只有9位是有意义的,其他7位是空闲的,状态标志位就是用来存放运算结果的特征,控制标志位是处理器当前的工作状态
    CPU内部寄存器_第9张图片
    CPU内部寄存器_第10张图片
    CPU内部寄存器_第11张图片

3.段寄存器

CPU内部寄存器_第12张图片
段地址就在下面4个段寄存器里,

只有4个段寄存器,只能放4个段地址
所以,在一个程序模块里,一种逻辑段只能有1个,也就是一个程序模块里,最多有4个逻辑段

CPU内部寄存器_第13张图片

你可能感兴趣的:(微机原理与接口技术)