MENU

「8088/8086原理」

2021 年 03 月 17 日 • 编程

最小工作模式与最小工作模式

  • 最小工作模式 系统中只有一个处理器,控制信号由处理器本身产生
  • 最大工作模式 系统中有除 8088/8086外的协处理器,控制信号由总线控制器8288产生
  • 8088 的工作模式是由MN/MX引线的状态决定的

    • MN/MX=0工作与最大模式
    • MN/MX=1工作与最小模式

最小工作模式下的主要引脚信号

  • 内存与接口的访问信号

    • 地址信号 数据信号

      • A0~A7数据信号,地址和数据信号分时复用,在传送地址信号时为单向,传送数据信号时为双向
      • A8~A15地址信号
      • A16~A19地址信号,与状态信号分时复用
    • 控制信号

      • #WR写信号
      • #RD读信号
      • IO/#M0 表示访问内存,为 1 表示访问接口
      • #DEN为低电平时,才允许进行读/写操作
      • DT/#R数据收发器的传送方向,表示读还是写
      • ALE地址所存信号
      • RESET复位信号
  • 同步控制信号

    • Ready 信号
  • 中断请求响应信号

    • INTR可屏蔽中断请求信号
    • NMI不可屏蔽中断请求信号
    • INTA中断响应输出信号
  • 总线抱持信号

    • HOLD总线保持请求信号输入,当 CPU 以外的设备要求占用总线时,通过该引脚向 CPU 发送请求
    • HLDA总线保持响应信号输出,CPU 对 HOLD 信号的响应信号

8088/8086 寄存器

  • 通用寄存器

    • 数据寄存器

      • AX AH AL累加器,多数存放运算结果
      • BX BH BL基址寄存器,间接寻址时存放基地址
      • CX CH CL计数寄存器,用于循环存放计数,串指令操作长度
      • DX DH DL数据寄存器,间接寻址的 I/O指令中存放端口地址,在乘除法运算时,存放高 16 位数
    • 地址指针寄存器

      • SP堆栈指针寄存器,存放栈顶的偏移地址
      • BP基址指针寄存器,访问内存时,存放内存单元的偏移地址
    • 变址寄存器

      • SI源变址寄存器
      • DI目标变址寄存器
  • 段寄存器

    • CS(Code Segment)代码段寄存器 存放代码段的段基地址
    • DS(Data Segment)数据段寄存器 存放数据段的段基地址
    • ES(Extra Segment)附加段寄存器 存放附加段的段基地址
    • SS(Stack Segment)堆栈段寄存器 存放堆栈段的段基地址
  • 控制寄存器

    • IP指令指针寄存器,内容为下一条指令的地址
    • FLAGS标志寄存器,用于存放运算结果的特征

      • 六个状态标志位CF SF AF PF OF ZF

        • CF(Carry Flag)进位标志位,加减法运算时,当最高位有进位借位, CF=1,无符号数运算有溢出
        • OF(Overflow Flag)溢出标志位,当次高位与最高位的进位借位状态不一致,OF=1,有符号数运算有溢出
        • ZF(Zero Flag)零标志位,当运算结果为 0 的时候,ZF=1
        • SF(Sgin Flag)符号标志位,当运算结果最高位为 1 的时候,SF=1
        • PF(Parity Flag)奇偶标志位,当运算结果的低 8 位中,1 的个数为偶数时,PF=1
        • AF(Auxiliary Carry Flag)辅助进位标志位,在加减运算中,若Bit3Bit4有进位借位,AF=1
      • 三个控制标志位IF TF DF

        • TF陷阱标志位,用于单步跟踪调试
        • IF中断允许标志位IF=1 表示 CPU 可以响应可屏蔽中断请求
        • DF方向标志位,在数据串操作时,确定操作方向