当前位置: 微经验 > 经验 > 数码 > 标志寄存器的作用

标志寄存器的作用

更新时间:2023-05-14

1、标志寄存器的作用

  用来判断CPU的状态。标志寄存器又称程序状态字(外语缩写:PSW、外语全称:Program Status Word)。这是一个16位的存放条件标志、控制标志寄存器,主要用于反映处理器的状态和ALU运算结果的某些特征及控制指令的执行。

  进位标志:用于反映运算是否产生进位或借位。如果运算结果的最高位产生一个进位或借位,则CF置1,否则置0。运算结果的最高位包括字操作的第15位和字节操作的第7位。移位指令也会将操作数的最高位或最低位移入CF。

  奇偶标志:用于反映运算结果低8位中“1”的个数。“1”的个数为偶数,则PF置1,否则置0。

  辅助进位标志:算数操作结果的第三位(从0开始计数)如果产生了进位或者借位则将其置为1,否则置为0,常在BCD(binary-codedecimal)算术运算中被使用。

  零标志:用于判断结果是否为0。运算结果0,ZF置1,否则置0。

  符号标志:用于反映运算结果的符号,运算结果为负,SF置1,否则置0。因为有符号数采用补码的形式表示,所以SF与运算结果的最高位相同。

  溢出标志:反映有符号数加减运算是否溢出。如果运算结果超过了8位或者16位有符号数的表示范围,则OF置1,否则置0。

2、寄存器分为几类

  1、地址寄存器:持有存储器地址,以及用来访问存储器。

  2、通用目的寄存器:可以保存数据或地址。

  3、浮点寄存器:用来储存浮点数字。

  4、常数寄存器:用来持有只读的数值。

  5、向量寄存器:用来储存由向量处理器运行SIMD指令所得到的数据。

  6、特殊目的寄存器:储存CPU内部的数据,如程序计数器,堆栈寄存器,以及状态寄存器。

  7、指令寄存器:储存现在正在被运行的指令。

  8、索引寄存器:是在程序运行实用来更改运算对象地址之用。

  注:SIMD全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。

3、内存与通用寄存器的区别

  内存:内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。

  通用寄存器:通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。

更多精彩资讯请关注微经验,我们将持续为您更新最新资讯!

上一篇: 消费者权益日有什么用 下一篇: 整个江西省有博士点的高校