8086 寄存器

14个16位寄存器

  • 8个通用寄存器
  • 4个段寄存器
  • 2个控制寄存器

16根数据总线,并行传送16位数据信息;
20根地址总线,寻址 2 20 2^{20} 220内存空间

在这里插入图片描述
总线接口单元(BIU):从内存指定单元中取出指令,送到6字节指令队列中排队,等待执行。

指令执行单元(EU):从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元ALU完成各种运算。


1. 数据寄存器

4个16位寄存器,每个又可拆为2个寄存器。

① AX 累加器(Accumulator)

  • AX = AH + AL

② BX 基址寄存器(Base)

  • BX = BH + BL
  • 可以用来存放偏移地址,在功能上等于变址寄存器
  • 常与DS组合。

③ CX 计数寄存器 (Count)

  • CX = CH + CL

④ DX 数据寄存器(Date)

  • DX = DH + CL

2. 段寄存器

各逻辑段的物理地址是由计算机设置的,在整个存储空间任意浮动。

① CS 代码段寄存器 (Code)

(1)功能:存放代码段的段基地址。

(2)特点

  • 大小为16位。

② DS 数据段寄存器(Date)

(1)功能:存放数据段的段基地址。
(2)特点

  • 大小为16位。

③ ES 附加段寄存器(Extra)

(1)功能:存放附加段的段基地址。
(2)特点

  • 大小为16位。

④ SS 堆栈段寄存器(Stack)

(1)功能:存放堆栈段的段基地址。
(2)特点

  • 大小为16位。

3. 标志寄存器(FLAGS)

(1)CF(Carry Flag)进位标志

  • 含义:
    CF = 1,表示进行算术加减运算时,最高位向前一位产生进位或借位;
    CF = 0,表示进行算术加减运算时,最高位没有向前一位产生进位或借位。

  • 要求:
    只有在两个无符号数进行加减运算时,CF标志才有意义。

(2)PF(Parity Flag)奇偶检验标志

  • 含义:
    PF = 0,表示本次运算结果低8位有奇数个1;
    PF = 1,表示本次运算结果低8位有偶数个1。

(3)AF(Auxiliary Flag)辅助进位标志

  • 含义:
    AF = 0,表示在8位加减运算中,低4位向高4位没有进位或借位;
    AF = 1,表示在8位加减运算中,低4位向高4位有进位或借位。

  • 要求:
    只有在BCD数运算时才有意义。

(4)ZF(Zero Flag)零标志

  • 含义:
    ZF = 0,表示运算结果不为零;
    ZF = 1,表示运算结果为零。

(5)SF(Sign Flag)符号标志

  • 含义:
    SF = 0,表示运算结果的最高位为0,该数为负数;
    SF = 1,表示运算结果的最高位为1,该数为正数。

(6)OF(Overflow Flag)溢出标志

  • 含义:
    OF = 0,带符号数运算时,运算结果没有超出机器所能表示的范围;
    OF = 1,带符号数运算时,运算结果超出了机器所能表示的范围。

(7)TF(Trap Flag)陷阱标志

  • 含义:
    TF = 0,程序正常运行;
    TF = 1,CPU处于单步工作方式,每执行完一条指令,自动产生一次单步中断,将寄存器、存储器等内容显示在屏幕上,供用户查看结果。

(8)IF (Interrupt Flag)中断标志

  • 含义:
    IF = 1,表示允许CPU响应可屏蔽中断;
    IF = 0,表示禁止CPU响应可屏蔽中断。

STI指令可使IF置1,CLI指令可使IF清0。

(9)DF(Direction Flag)方向标志

  • 含义:
    DF = 0,串操作从低地址向高地址方向进行,每次操作后地址指针SI,DI自动递增;
    DF = 1,串操作从高地址向低地址方向进行,每次操作后地址指针SI,DI自动递减。

执行CLD指令可使DF清0,执行STD指令使DF置1。

4. 指令指针寄存器

① IP 指令指针寄存器(Instruction Pointer)

(1)功能:存放将要执行的指令在现行代码段中的偏移地址

(2)特点

  • 当CPU从代码段中取出一个字节的指令代码后,IP自动+1
  • 用户不能修改IP的值,只能由BIU自动修改
  • 总是与CS搭配,成为 CS:IP

5. 地址指针寄存器

① SP 堆栈指针寄存器 (Stack Pointer)

(1)功能:SP的值始终为栈顶的偏移地址。

(2)特点

  • 总是和SS段寄存器一起,组成 SS:SP 访问堆栈

② BP 基址指针寄存器 (Base Pointer)

6. 变址寄存器

① SI 源变址寄存器 (Source Index)

(1)功能:存放源操作数的偏移地址。

(2)特点

  • 常和数据段寄存器一起,组成 DS:SI 指向源字符串的首地址
  • 常和BX寄存器一起,组成 BX:SI 灵活寻址

② DI 目标变址寄存器 (Destination Index)

(1)功能:存放目标操作数的偏移地址。

(2)特点

  • 常和附加段寄存器一起,组成 ES:DI 指向目的字符串的首地址
  • 常和BX寄存器一起,组成 BX:DI 灵活寻址
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值