`
xinklabi
  • 浏览: 1586705 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

寄存器的作用

 
阅读更多

寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

寄存器的用途:

1.可将寄存器内的数据执行算术及逻辑运算。

2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。

3.可以用来读写数据到电脑的周边设备。

8086 有8个8位数据寄存器,

这些8位寄存器可分别组成16位寄存器:

AH&AL=AX:累加寄存器,常用于运算;

BH&BL=BX:基址寄存器,常用于地址索引;

CH&CL=CX:计数寄存器,常用于计数;

DH&DL=DX:数据寄存器,常用于数据传递。

为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:

CS(Code Segment):代码段寄存器;

DS(Data Segment):数据段寄存器;

SS(Stack Segment):堆栈段寄存器;

ES(Extra Segment):附加段寄存器。

当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。

除了前面所提的寄存器外,还有一些特殊功能的寄存器:

IP(Intruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程;

SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。

BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;

SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;

DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。

还有一个标志寄存器FR(Flag Register),有九个有意义的标志(

OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0.

DF: 方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。

IF: 中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:

(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;

(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。

TF: 状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变

SF: 符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。

ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。

AF: 下列情况下,辅助进位标志AF的值被置为1,否则其值为0:

(1)、在字操作时,发生低字节向高字节进位或借位时;

(2)、在字节操作时,发生低4位向高4位进位或借位时。

PF: 奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。

CF: 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。)

以上是8086寄存器的整体概况, 自80386开始,PC进入

32bit时代,其寻址方式,寄存器大小, 功能等都发生了变化, 要想学习这方面知识请参考相应资料

分享到:
评论

相关推荐

    SM61580寄存器说明V2.2

    具体的寄存器作用和使用模式如下: - 中断寄存器:包括中断掩码寄存器(Interrupt Mask Register)和中断状态寄存器(Interrupt Status Register),分别用于开启/关闭中断源和读取中断源的标志位。 - 配置寄存器:...

    RCC寄存器描述

    ### RCC寄存器描述 #### STM32的RCC寄存器概述 在STM32微控制器中,RCC(Reset and Clock Control)模块是负责管理整个芯片时钟系统的硬件单元。RCC寄存器用于控制和配置STM32的各种时钟源以及与之相关的设置。本文...

    寄存器的作用.docx

    以下将详细介绍各种类型的寄存器及其作用。 1. 数据寄存器 数据寄存器主要用来保存操作数和运算结果,包括EAX、EBX、ECX和EDX这四个32位寄存器。在16位系统中,它们可以拆分为16位(AX、BX、CX、DX)或8位(AH、AL...

    以太网PHY寄存器分析.zip_childrenr1l_phy 寄存器_phy寄存器_以太网 PHY 寄存器_以太网phy

    首先,我们要理解PHY寄存器的作用。每个PHY芯片都有多个寄存器,这些寄存器存储了关于网络连接速度、双工模式、链路状态、错误检测等关键信息。其中,"childrenr1l"可能指的是某个特定的PHY寄存器地址,这在不同的...

    易语言取寄存器值

    3. **寄存器原理**:理解CPU寄存器的作用、分类及其在程序执行中的功能。 4. **权限管理**:在读取寄存器时,可能需要提升权限,比如以管理员身份运行程序,否则可能会受到权限限制。 5. **错误处理**:学习如何在...

    以太网PHY寄存器分析

    控制寄存器中包括了多个寄存器,每个寄存器都有其特定的功能和作用。例如,控制寄存器中有一个bit位用于控制以太网PHY芯片的Reset功能,当该bit位被置位时,以太网PHY芯片将被Reset。 状态寄存器(Status Register...

    Marvell 寄存器分析工具

    寄存器是微处理器和数字逻辑系统中的核心组件,它们存储数据和控制指令,对设备的操作起着至关重要的作用。Marvell寄存器分析工具提供了多种功能,包括寄存器计算、寄存器转换以及比特分析,以优化硬件性能和解决...

    mpu9250寄存器手册

    了解这些寄存器的作用和设置方法对于开发者来说是必要的,因为这能够帮助开发者通过编程来精确地控制MPU-9250的运作,进而开发出功能强大且高效的系统。在开发过程中,开发者需要根据实际应用场景,对这些寄存器进行...

    移位寄存器的使用说明和反馈节点_labview移位寄存器的使用_

    移位寄存器是数字电路中的重要组成部分,它在数据处理和存储方面起着关键作用。在LabVIEW编程环境中,移位寄存器被广泛应用于数据的传递、延迟和序列生成。本文将深入探讨移位寄存器的概念、类型、使用方法以及与...

    mips32位的32个寄存器组成的寄存器组

    首先,我们要理解寄存器在CPU中的作用。寄存器是计算机中最快的数据存储单元,它们位于处理器内部,能够快速读写数据,从而提高计算效率。在MIPS32中,这32个通用寄存器被编号为$0 到 $31,其中$0 是一个特殊的...

    8051特殊功能寄存器详细说明

    在探讨8051特殊功能寄存器之前,我们首先简要回顾一下8051微控制器的基本概念。8051是一种广泛使用的8位微控制器(MCU),由Intel公司于1980年首次推出。由于其强大的功能、低功耗特性以及易于编程的特点,8051系列...

    netfpga 寄存器系统介绍

    在深入探讨寄存器系统之前,我们首先理解其基本作用。寄存器系统是 FPGA 设计中的核心元素,它存储了设备的配置信息和运行时状态。对于 NetFPGA 平台,寄存器系统的设计直接影响到系统的可扩展性、灵活性以及用户...

    mpu6050中文手册寄存器理解

    1. 寄存器地址和内容:MPU6050 的寄存器地址范围从 0x00 到 0x72,每个寄存器的地址都有其特定的功能和作用。例如,寄存器 0x00 是 POWER_MANAGEMENT_1 寄存器,负责 MPU6050 的电源管理。 2. 陀螺仪配置:陀螺仪的...

    8086 CPU 寄存器简介

    本篇博文主要介绍了 8086 CPU 中的寄存器,旨在帮助读者了解 CPU 中的寄存器的作用和功能。本文从 Intel CPU 的发展史开始,介绍了 8086 CPU 的特点和发展历程,然后深入探讨了 8086 CPU 中的寄存器,包括寄存器的...

    BIN Tool(寄存器操作小助手)

    寄存器是处理器与外部设备进行数据交换的关键桥梁,理解并正确设置寄存器的各个位字段对于系统功能的实现和性能优化具有决定性作用。"BIN Tool"就是这样一款专为寄存器分析而设计的小助手,它旨在简化开发者在处理32...

    ARM寄存器读写工具

    这些寄存器包括通用寄存器、程序计数器、状态寄存器等,它们在处理CPU的各种任务中起到核心作用。 在imx6q SoC(系统级芯片)中,寄存器通常分布在多个外设接口上,如GPIO、UART、I2C、PCIe等,每个外设都有自己的...

Global site tag (gtag.js) - Google Analytics