简述MCS51单片机中程序状态寄存器PSW各位的含义

简述MCS51单片机中程序状态寄存器PSW各位的含义,第1张

这东西百度一大堆啊,不过要想理解透,还是要写汇编语言,c语言感觉不出来这些东西的。

PSW是一个8位寄存器,用于设定CPU的状态和指示指令执行后的状态。

CY(PSW7):进位标志。在执行加减运算指令时,如果运算结果的最高位(D7)发生了进位或借位,则CY由硬件自动置1。

AC(PSW6):半进位标志位,也称为辅助标志位。在执行加减运算指令时,如果运算结果的低半字节(D3)发生了向高半字节进位或借位,则AC由硬件自动置1。

F0、F1(PSW5 和PSW1):用户标志位。用户可以根据需要对F0、F1赋予一定的含义,由用户置1和清0,作为软件标志。

RS1、RS0(PSW4 和PSW3):工作寄存器组选择控制位。通过对这两位设定,可以从4个工作寄存器组中选择一组作为当前工作寄存器。

OV(PSW2):溢出标志位,有两种情况影响该位。一是执行加减运算时,如果D7或D6任一位,并且只一位发生了进位或借位,则OV自动置1,

P(PSW0):奇偶标志位。每条指令执行完后,该位都会指示当前累加器A中1的个数。如果A中有奇数个1,则P自动置1。

首先,要知道,什么是溢出?

一般来说,容器太小,盛不下了,就会溢出。

在计算机方面,溢出,就是数据太大,超出了预定的范围。

数字,在计算机中,都是用机器码代表的。

人们最常用的“自然数”和“整数”,其范围如下:

机器码,无论代表什么数字,只要运算结果超出预定范围,就是溢出。

但是,在计算机专业人的嘴里,就不一样了。

 无符号数的溢出,不叫溢出,要叫做进位。

 带符号数的溢出,才叫做溢出。

搞计算机的这些人,基本概念不清,却自命不凡!

冒充脑回路清奇。。。正常人对此,就只能无语了。

---------------------------

那么,就按照计算机专业的说法吧:

溢出,是指“补码运算结果超出范围”。

溢出的特征,是“符号错误”。

知道了这些,判断是否溢出,就很容易了。

CPU 做完运算,就会给出结果和“溢出标志位 OV”。

如果 OV=1,就代表:刚刚做的计算,发生了溢出。

人工判断是否溢出,有如下六个方法。

一、无符号数的运算,肯定不会溢出。只有进位。

二、只有:正+正、负+负,才有可能超出范围。不是这些,就绝不会溢出。

三、人工用数值计算。和,如果没有超出范围,就没有溢出。

四、人工用补码计算。和的符号,如果正确,就没有溢出。

五、编个程序,让计算机计算。然后观察溢出标志位,为零,就没有溢出。

六、人工用补码计算,如“最高位的进位”和“次高位的进位”相同,就没有溢出。

第六种,本是 CPU 的硬件所用的方法。

硬件,其理论基础,是很晦涩难懂的。

异或运算,一般也不需要初学者掌握。

但是,一些爱得瑟的老师,偏爱介绍这种方法。

却又拿不出任何的理论!

其实,这是很无聊的表现,就是想着难为学生。

PSW即程序状态字(有些教材也叫程序状态寄存器),Program

Status

Word

程序状态寄存器PSW是计算机系统的核心部件——控制器的一部分

(1)Cy(PSW7)PSW7是Cy即C,来源于最近一次算术指令或逻辑指令执行时软硬件的改写。

(2)Ac(PSW6)

辅助进位标志位,用于BCD码的十进制调整运算。当低四位向高四位借进位时Ac被置1,否则清0。此位也可和DA指令结合起来用。

(3)F0(PSW5)用户使用的状态标志位。这个你可以任意使用。

(4)RS1、RS0(PSW4、PSW3):4组工作寄存器区选择控制位1和位0。

(5)OV(PSW2)溢出标志位

在执行算术指令时,指示运算是否产生溢出。

(6)PSW1位:

保留位,未用。

(7)P(PSW0)奇偶标志位

P=1,A中“1”的个数为奇数

P=0,A中“1”的个数为偶数

程序状态字

,用来存放指令执行后的有关状态。

PSW即程序状态寄存器,Program

Status

Word。

PSW各位的定义如下:

Cy(PSW7):即PSW的D7位,进位、借位标志。进位、借位CY=1;否则CY=0

AC(PSW6):即PSW的D6位,辅助进位、借位标志。当D3向D4有借位或进位时,AC=1;否则AC=0

F0(PSW5及PSW1):即PSW的D5位,用户标志位;

RS1及RS0(PSW4及PSW3):即PSW的D4、D3位,寄存器组选择控制位;

OV(PSW2):溢出标志。有溢出OV=1,否则OV=0;

F1(PSW·1):保留位,无定义;

P(PSW·0):奇偶校验标志位,由硬件置位或清0;存在ACC中的运算结果有奇数个1时P=1,否则P=0。

以上就是关于简述MCS51单片机中程序状态寄存器PSW各位的含义全部的内容,包括:简述MCS51单片机中程序状态寄存器PSW各位的含义、单片机中程序状态字什么作用PSW.2(OV):溢出标志什么意思、单片机的PSW的作用是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9498295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存