内部寄存器:通用寄存器、控制寄存器、段寄存器

本文详细介绍了CPU内部的14个16位寄存器,包括8个通用寄存器(AX, BX, CX, DX, SP, BP, SI, DI)、4个段寄存器(CS, DS, ES, SS)和2个控制寄存器(IP, FLAGS)。通用寄存器用于数据处理和地址指向,如AX作为累加器,BP和SP在堆栈操作中起关键作用。控制寄存器IP存储下一条指令地址,FLAGS寄存器包含状态和控制标志。段寄存器则存储逻辑段的基地址,以实现不同类型的内存访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内部寄存器含14个16位寄存器,按功能可分为三类:8个通用寄存器、4个段寄存器、2个控制寄存器。

通用寄存器:包括(数据寄存器、地址指针寄存器、变址寄存器)

1.数据寄存器(AX,BX,CX,DX)可以分别拆开两个8位寄存器,例:AX---AH和AL

     AX:累加器,所有I/O指令都通过AX与接口传送信息,中间运算结果也多放于AX中。AX中的十六位数全都是存放的数据。

     BX:基址寄存器,在间接寻址中用于存放基地址。BX中的十六位数可能是运算数据也可能是数据存放的地址

     CX:计数寄存器,用于在循环或事操作指令中存放计数值。

     DX:数据寄存器,在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数

如果是8位寄存器中,只会是运算的数据,绝不可能是地址,因为16体系结构CPU,地址最短也是16位的

2.地址指针寄存器(SP,BP)

      SP:堆栈指针寄存器,其内容位栈顶的偏移地址。只要有堆栈存在,SP一定被专用

      BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。

         BX表示所寻找的数据在数据段,BP表示数据在堆栈段

3.变址寄存器(SI,DI)

     SI:源变址寄存器

     DI:目标变址寄存器

这两个可以是运算的数据也可以是存放数据的地址

变址寄存器在指令中常用于存放数据在内存中的地址

控制寄存器

IP:指令指针寄存器,其内容为下一条要取的指令的偏移地址。

FLAGS:标志寄存器,存放运算结果的特征

   6个状态标志位(CF,SF,AF,PF,OF,ZF)

CF:进位标志位。加减法运算时,若最高位有进借位则CF=1

OF:溢出标志位,当算数运算的结果超出了有符号数的可表达范围时,OF=1

ZF:零标志位,当运算结果为零时ZF=1

SF:符号标志位,当运算结果的最高数为1时,SF=1

PF:奇偶标志位,运算结果的低8位中“1”的个数为偶数时PF=1

AF:辅助进位标志位,加减操作中,若Bit3向Bit4有进位(错位),AF=1

  3个控制标志位(IF,TF,DF),表示处理器目前的工作状态的

TF:陷阱标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式

IF:中断允许编制为。IF=1使CPU可以响应可屏蔽中断请求

DF:方向标志位。在数据事操作时群顶操作的方向。

段寄存器

作用:用来存放相应逻辑段的段基地址

代码段------存放指令代码         CS代码段寄存器,存放代码段的段基地址

数据段------存放操作的数据      DS数据段寄存器,存放数据段的段基地址

附加段------存放操作的数据      ES附加段寄存器,存放数据段的段基地址

堆栈段------存放暂时不用但需要保存的数据    SS堆栈段寄存器,存放堆栈段的段基地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值