8086cpu的寄存器


8个通用寄存器,4个段寄存器,1个指令寄存器,1个标志寄存器
在这里插入图片描述

8个通用寄存器

8个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。
例如:
AX:用于做累加器,存放操作数和运算结果。
BX:基址寄存器
CX:计数寄存器
DX:数据寄存器
BP:常用于指向当前栈的最底部
SP:用于指向当前栈的最顶部
SI:源变址寄存器,常用于存放源操作数的偏移地址
DI:目的变址寄存器,常用于存放目的操作数的偏移地址
SI和DI寄存器常用来做间接寻址。

指令寄存器

IP:存放程序当前指令在代码段的偏移位置

4个段寄存器

代码段寄存器CS :存放程序代码段起始地址的高16位

CS为代码段寄存器,IP为指令指针寄存器。绑定CS:IP使用
CPU将CS:IP指向的地址为下次将要执行的指令执行。
使用jmp 段地址:偏移地址 可以修改CS:IP的内容。

数据段寄存器DS:存放数据段起始地址的高16位
堆栈段寄存器SS:存放堆栈段起始地址的高16位
扩展段寄存器ES:存放扩展数据段起始地址的高16位

标志寄存器

在这里插入图片描述
在这里插入图片描述

  • CF进位标志

CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生

  • PF奇偶标志

PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1

  • AF辅助进位标志

AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位

  • ZF零标志

标志寄存器的第六位是ZF,零标志位。
它记录相关指令执行后,其结果是否为0,如果结果为0,那么ZF=1;如果不为0,那么ZF=0;
在这里插入图片描述

  • SF符号标志

SF=1,运算结果为负数;SF=0,则结果为正数

  • OF溢出标志

OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出

  • TF陷阱标志

TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序

  • IF中断允许标志

IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求

  • DF方向标志

DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值