-
PSW 编辑
PSW是Program Status Word的缩写,即程序状态字(也叫程序状态寄存器),可用于OS在管态(系统态)和目态(用户态)之间的转换。
程序基本状态。包括:(1)程序计数器:指明下一条执行的指令地址;(2)条件码:表示指令执行的结果状态:(3)处理器状态位:指明当前的处理器状态,如目态或管态、运行或等待。
中断码。保存程序执行时当前发生的中断事件。
中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。
由于不同处理器中的控制寄存器组织方式不同,所以在大多数计算机的处理器现场中可能找不到一个称为程序状态字寄存器的具体寄存器,但总是有一组控制与状态寄存器实际上起到这一作用。
0 V——溢出标志位:对于单字节的有符号数,若用最高位(b7)表示正、负号,则只有7位有效数位(b6~b0),能表示-128~+127之间的数。运算结果超出了这个数值范围,就会发生溢出,此时OV=1,否则OV=0。
此外,在执行乘法指令时,OV=1表示乘积超过255;在执行除法指令时,OV=1表示除数为0。
RSl、RSO——工作寄存器选择控制位:该两位用以选择指令当前使用的工作寄存器组。由用户用软件可以设置RSl、RSO的组合,以切换到当前选用的工作寄存器组。
单片机复位后,RSl-RS0-0,CPU自动选中第0组为当前工作寄存器。用户可通过指令改变RSl、RS0的状态,实现工作寄存器组的切换。这为调用子程序和中断服务程序中保护现场提供了方便。
F0——用户标志位:该位可由用户置1或清0,用于实现某些测控功能。
AC——半进位标志位:当CPU进行加法(或减法)运算时,如果低半字节(b3~b0)向高半字节(b7~b4)有进位(或借位),即b3向b4进位(或借位)时,AC置1,否则清0。AC可用于BCD码加法时的调整判别位。
CY——进位标志位: 当CPU进行加法(或减法)运算时,如果运算结果的最高位(b7)有进位(或借位),CY则置1,否则清0。
标志名;
设置 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。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。