压力表怎么样防凝结:8088CPU的功能结构

来源:百度文库 编辑:高校问答 时间:2024/05/09 10:39:19

8086/8088CPU的功能结构
  (1) 数据寄存器
  AX、BX、CX、DX 主要用以存放16位数据信息。
  AH、AL、BH、BL、CH、CL、DH、DL 主要用以存放8位数据信息。
  [注]8位数据寄存器是从16位数据寄存器中分解开的,如AX―>AH、AL,反之AH、AL->AX。注意它们的对应关系。
  (2)指针和变址寄存器
  SP 堆栈指针寄存器,其内容为16位偏移地址,用以指向堆栈当前栈顶的位置。
  BP 基址指针寄存器,其内容为16位地址,作为访问堆栈存储单元的偏移地址。
  SI 源变址寄存器,其内容为16位地址,作为访问数据单元的偏移地址。
  DI 目的变址寄存器,其内容为16位地址,作为访问数据单元的偏移地址。
  [注]上述4个16位寄存器一般情况下,其内容均为地址信息,用以表示一个存储单元的偏移地址。但也具有通用性,可以作为数据寄存器来使用;SI和DI二者在使用中通常是没有什么区别的,仅在串操作指令中有区别。
  (3)段寄存器
  CS 代码段寄存器 均用以存放16位段地址
  DS 数据段寄存器
  ES 附加段寄存器
  SS 堆栈段寄存器
  (4)指令指针寄存器(IP)
  IP 用以存放一个16位的代码段(程序段)的偏移地址,它与CS的内容合并可以形成一个20位的物理地址,专门用来指向当前要执行的指令单元的位置。
  (5)标志寄存器F
  标志寄存器F又称程序状态字寄存器PSW,是用以记录或存放状态标志和控制标志信息的。
  ①.状态标志位(ZF、SF、PF、OF、CF、AF):用以记录当前运算结果的状态信息。

  ZF(零标志位) 若当前运算结果为0,则ZF=1;若当前运算结果为1,则ZF=0。
  SF(符号标志位) 若当前运算结果为负数,则SF=1;若当前运算结果为正数,则SF=0。
  PF(奇偶标志位) 若当前运算结果为奇数个"1",PF=0;若当前运算结果为偶数个"1",则PF=1。
  OF(溢出标志位) 若当前运算结果产生溢出,则OF=1;反之,OF=0。
  CF(进位标志位) 若当前运算出现进位或借位,则CF=1;反之,CF=0。
  AF(辅助标志位) 若当前运算出现第3位向第4位进位或借位,则AF=1;反之,AF=0。
  [注](1)状态标志位的设置一般是由CPU根据当前程序运行结果的状态自动完成的。
  (2) 状态标志位信息一般用作后续条件转移指令的转移控制条件。

  ②.控制标志位(TF、IF、DF):用以存放控制CPU工作方式的标志信息。
  TF(跟踪标志位) 当TF=1时,CPU每执行完一条指令就产生一个内部中断,处于暂停状态;当TF=0时,CPU处于正常工作状态。
  IF(中断允许标志位) 当IF=1时,允许CPU响应外部中断INTR的请求;当IF=0时,不允许CPU响应外部中断请求。
  DF(方向标志位) 当DF=0时,CPU执行串操作指令时,对SI、DI进行加操作;反之,对SI、DI进行减操作。
  [注]控制标志位的设置是由系统程序或用户程序中的指令来完成的。
  1. 有关存储器的基本概念
  (1) 字节与字
  字节(Byte) 是指一组相邻的8位二进制数码
  字(Word) 是指两个相邻的字节(16位二进制数码)。
  [注]8086/8088系统对存储器的访问都是以字节作为基本单位来进行读/写操作的。
  (2) 存储单元
  8086/8088指令系统对存储单元的操作有如下3种类型:
  字节单元 存储8位二进制代码。
  字单元 存储16位二进制代码(相邻二个字节单元)。
  双字单元 存储32位二进制代码(相邻四个字节单元)。
  (3) 存储单元的地址和内容
  存储单元的地址 是指为每个存储单元指定的编号。
  存储单元的内容 一个存储单元中存放的信息(二进制代码)。
  [注]
  单元的地址与单元的内容之间的关系:一般单元的地址都是用十六进制数表示的,设某个存储单元的地址为X,内容为Y,则有(X)=Y。
  二字节单元(字单元)和四字节单元(双字单元)的地址均以第一个字节单元地址作为该单元的地址。
  数据在存储单元中的存放形式:对于一个16位或多字节的数据要占用二个或二个以上的字节单元,数据的低位存放在低地址字节单元,数据的高位存放在高地址字节单元。

  8086/8088的存储器系统
  2. 8086/8088存储器组织
  如图1.2所示:8086/8088存储期的最大存储空间为1MB,存储器地址范围为00000H~FFFFFH。

  图1.2

  3. 存储器分段
  (1) 分段方法:按需要将存储器分成若干个逻辑段,要求每个段的起始地址能被16整除,段的长度不超过64K。
  (2) 分段的意义:将存储单元的实际地址(20位)分成二部分来表示,即段的起始地址和段内的偏址地址二者均可用16位来表示,从而实现了对20位物理地址的描述、存储、操作、形成。
  4. 存储器单元物理地址的形式
  (1) 存储单元地址
  段地址 一个逻辑段的起始地址,形如XXXX0H。
  偏移地址 段内一个存储单元到达段地址的距离(16位)。
  物理地址 存储单元的实际地址(20位)。
  [注]段地址和偏移地址是逻辑地址,即在程序指令中引用和操作的地址;物理地址是在20位地址总线上产生的地址。
  (2) 存储单元物理地址的计算
  物理地址=段地址+偏移地址
  指令单元地址=(CS)×10H+(IP)
  堆栈操作单元地址=(SS)×10H+(SP)/BP表达式
  数据单元地址=(DS)×10H+地址表达式
  外部设备与I/O编址方式
  1. 外设与接口
  外设 系统的所有输入输出设备均称为外设。
  接口 将CPU与外设有效连接起来的中间电路。
  2. 端口与端口地址
  端口 在接口中,CPU可以访问的寄存器。
  端口地址 为每个端口制定的编号。
  3. 8086/8088系统的I/O编址方式
  8086/8088系统采用独立的I/O编址方式,即I/O端口地址与存储单元地址相互独立。
  规定I/O端口地址范围:0000H~FFFFH。