8086CPU有哪些寄存器组成?各有什么用途?标志寄存器的各标志位在什么情况下置位?

答:共有14个寄存器,分成3部分:
 (1) 通用寄存器8个:AX,BX,CX,DX,SP,BP,SI,DI。
        AX,BX,CX,DX为数据寄存器,用来保存运算中的中间结果和有效地址。4个寄存器既可以做16位寄存器,也可以做为8位寄存器AL,AH,BL,BH,CL,CH,PD,DH。
        在程序设计中,一般把AX用作累加器。BX用作基址寄存器,CX用作计数器,DX用作数据寄存器。
        SP:堆栈指针寄存器;装栈顶指针偏移量。
        BP:基址指针寄存器;装栈段中一个数据区的基址偏移量。
        SI:源变址寄存器;装源操作数地址的偏移量。
        DI:目的变址寄存器;装目的操作数地址偏移量。
(2)段寄存器4个:
        CS:代码段寄存器;装代码段的起始地址。
        DS:数据段寄存器;装数据段的起始地址。
        SS:堆栈段寄存器;装堆栈段的起始地址。
        ES:附加段寄存器;装附加段的起始地址。
(3)控制寄存器2个:
        IP:指令指针寄存器;始终存放当前指令的下一条指令的起始存储单元的偏移地址。
        FR:状态标志寄存器;用来存放运算结果和特征。16位寄存器,用39位。
        标志位分为两大类:一类是状态标志,用来表示算术,逻辑运算的结果特征。(CF,FF,AF,ZF,SF,OF)。一类是控制标志;用来表示控制CPU的操作特征。(IF,DF,TF)
        CF(FR0):CF=1  为加、减运算结果的最高位有进位或有错位,否则CF=0.
        PF(FR2):PF=1 为操作结果“1”的个位为偶数,否则PF=0.
        AF(FR4):AF=1 为运算结果的低四位向高四位有进位或有错位,(用于10进制BCD码运算指令)否则A=0.
        ZF(FR6):ZF=1 运算结果为0,否则ZF=0.
        SF(FR7):SF=1 运算结果最高为0(E),否则SF=0.
        OF(FR11):OF=1在算术运算时,带符号的运算结果超出数的表示范围。否则OF=0.
        TF(FR8):TF=1CPU进入单步工作方式。
        IF(FR9):IF=1允许CPU响应可屏蔽中断请求。IF=0禁止中断。
        DF(FR10):DF=1在字符串操作时使地址指针自动减量。DF=0自动增量。 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪漫予以你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值