首页 > 编程知识 正文

寄存器的功能是什么(单片机寄存器的作用是什么)

时间:2023-05-05 17:01:39 阅读:74675 作者:1096

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

寄存器的用途:

1 .可以对寄存器中的数据进行算术运算和逻辑运算。

2 .寄存器内保存的地址可用于存储器所在的位置,即寻址。

3 .可用于向电脑读写数据的外围设备。

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

这些8位寄存器可以分别构成16位寄存器。

AHAL=AX :加法寄存器,常用于运算;

BHBL=BX :地址索引中常用的基址寄存器;

CHCL=CX :计数寄存器,常用于计数;

DHDL=DX :数据传输中常用的数据寄存器。

为了运用所有内存区域,8086中设置了用于保存段地址的4个段寄存器。

代码段寄存器(cs );

数据段(ds ) :数据段寄存器;

堆栈段(ss ) :堆栈栈寄存器;

扩展段(es ) :添加段寄存器。

当执行一个程序时,确定程序代码、数据、栈分别使用存储器中的哪个位置,并通过设置段寄存器CS、DS、SS来指向这些开始位置。 通常固定DS,根据需要修改CS。 因此,程序在可寻址空间小于64K的情况下,可以写入任意大小。 因此,程序及其数据的组合大小限制在DS所指的64K以内。 这就是COM文件不能超过64K的原因。 8086以内存为战场,寄存器为军事基地,加快工作。

除了前面提到的寄存器外,还有几个特殊功能的寄存器。

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

堆栈指针(sp )—堆栈指针。 可以与SS协作,指向当前的堆栈位置。

BP(basepointer ) :基地址指针寄存器,可用作SS的相对基地址位置;

源索引(si )源限定寄存器可以用于存储指向DS段的源限定指针。

目标索引(di ) :可用于存储es段的目标索引指针的目标索引寄存器。

另一个标志寄存器fr (标志注册器)包含9个有意义的标志(

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寄存器的整体概要,PC从80386开始进入

32位时代,地址方式、寄存器大小、功能等发生了变化,学习该知识请参照相应资料

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。