程序状态字psw有什么作用,各位的含义是什么?

发布网友 发布时间:2022-04-23 02:18

我来回答

5个回答

热心网友 时间:2023-08-09 21:44

程序状态字(Program Status Word, PSW)又称状态寄存器,主要用于反映处理器的状态及某些计算结果以及控制指令的执行。

程序状态字(Program Status Word, PSW)又称状态寄存器,主要用于反映处理器的状态及某些计算结果以及控制指令的执行。用一个专门的寄存器来指示处理器状态。

程序状态字通常包括以下状态代码:
CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力
条件码——反映指令执行后的结果特征
中断屏蔽码——指出是否允许中断

各位的含义如下表格:

热心网友 时间:2023-08-09 21:45

PSW即程序状态字(有些教材也叫程序状态寄存器),Program Status Word
程序状态寄存器PSW是计算机系统的核心部件——运算器的一部分,PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,称为状态标志,如有无进位(CF位),有无溢出(OF位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(PF位)等;另一类是存放控制信息,称为控制状态,如允许中断(IF位),跟踪标志(TF位),方向标志(DF)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。
在8086/8088CPU中,PSW是一个16位寄存器,用于寄存单签指令执行后的某些状态,即反映指令执行结果的一些特征信息。在debug程序中,可以使用R命令来查看PSW的值,除了TF没有显示之外,其它8个标志的值显示方式如下:
标志名
设置 nv(清除) ov(溢出)
方向 dn(减) up(增)
中断 ei(启用) di(禁用)
正负 ng(负) pl(正)
零 zr(0) nz(非0)
辅助进位 ac(进位) na(不进位)
奇偶校验 pe(偶校验) po(奇校验)
进位 cy(进位) nc(不进位)
如:
OV DN EI NG ZR AC PE CY依次表示OF DF IF SF ZF AF PF CF都为1;
NV UP DI PL NZ NA PO NC依次表示OF DF IF SF ZF AF PF CF都为0.
PSW各位的定义如下:
Cy(PSW.7):即PSW的D7位,进位、借位标志。进位、借位CY=1;否则CY=0.
AC(PSW.6):即PSW的D6位,辅助进位、借位标志。当D3向D4有借位或进位时,AC=1;否则AC=0.
F0(PSW.5及PSW.1):即PSW的D5位,用户标志位;
RS1及RS0(PSW.4及PSW.3):即PSW的D4、D3位,寄存器组选择控制位;
OV(PSW.2):溢出标志。有溢出OV=1,否则OV=0;
F1(PSW·1):保留位,无定义;
P(PSW·0):奇偶校验标志位,由硬件置位或清0;存在ACC中的运算结果有奇数个1时P=1,否则P=0。

热心网友 时间:2023-08-09 21:45

PSW 中,最常用的标志位是进位标志 CY溢出标志 OV

进位比较好理解。那么,什么是溢出呢?

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

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

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

最常用的是“自然数”和“整数”,其表达范围如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

却又拿不出任何的理论!

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

热心网友 时间:2023-08-09 21:46

单片机书上写的那么详细,自己看吧。建议

热心网友 时间:2023-08-09 21:46

用来保存指令执行结果的标志,供程序查询和判别

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com