c语言32位数如何判断溢出,单片机程序状态字PSW的OV位到底是怎么判断溢出的?有CY位不就够了么?...
单片机程序状态字PSW的OV位是溢出标志,当进行算数运算时,如果产生溢出,则硬件将OV置1,否则清0。执行有符号加、减法指令的时候,当D6位有向D7位的进位或借位时C6Y=1时,而D7位没有向CY位的进位或借位C7Y=0时,OV=1或C6Y=0,C7Y=,1时,则OV=1。
溢出的逻辑表达式:OV=C6Y⊕C7Y。CY位是累加器的进位或借位标志,对于无符号数可以用CY来判断溢出,但是对有符号数就无法判断了,所以只有CY位是不够的。
PSW各位的定义如下:
CY(PSW.7):D7位,进位、借位标志。进位、借位CY=1;否则CY=0.
AC(PSW.6):D6位,辅助进位、借位标志。当D3向D4有借位或进位时,AC=1;否则AC=0.
F0(PSW.5):D5位,用户标志位;
RS1、RS0(PSW.4及PSW.3):D4、D3位,寄存器组选择控制位;
OV(PSW.2):溢出标志。有溢出OV=1,否则OV=0;
F1(PSW·1):D1位,用户标志位;
P(PSW·0):奇偶校验标志位;累加器ACC中的运算结果有奇数个1时P=1,否则P=0。
扩展资料
数据类型:
SFR也是一种扩充数据类型,占用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们可以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。
参考资料来源:《单片机原理及应用》曹巧媛 编著 电子工业出版社 第二章 MCS-51单片机结构及原理 第一节 MCS-51单片机结构
参考资料来源:百度百科--PSW
参考资料来源:百度百科--程序状态字
c语言32位数如何判断溢出,单片机程序状态字PSW的OV位到底是怎么判断溢出的?有CY位不就够了么?...相关推荐
- 嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)
嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器.累加器和程序状态字) 累加器A 寄存器B 程序状态字PSW 累加器A 累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特 ...
- C语言32位数加一精简,一个简单的32位多任务操作系统的实现(1)
一个简单的32位多任务操作系统的实现(1) 一个简单的32位多任务操作系统的实现(1) 适用对象:具有一定的C语言,汇编语言基础,对计算机系统结构有基本了解的操作系统爱好者 系统的启动过程:任何一台计 ...
- (C语言)从键盘输入输入一个不大于5位的整数,判断位数,并逆序输出
@[TOC]( (C语言)从键盘输入输入一个不大于5位的整数,判断位数,并逆序输出 #include <stdio.h> void main() {int n,a,b,c,d,e,m;pr ...
- C语言:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. 程序分析:此题要求判断一个五位数是不是回文数,首先要理解回文数的定义,然后我们就要思考如何处理我们输入的五 ...
- 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc
(整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...
- C语言32个关键字与C++62个关键字详解
C语言32个关键字 关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double ...
- 汇编语言--LC3tools实现两个32位数相加
实现原理 将每个32位数拆成两个16位数(低16位,高16位) 低16位与低16位相加,高16位与高16位相加 判断低16位进位 分别取两个低16位的最高位进行比较,两个最高位都是1必定会进位,两个最 ...
- 32位系统和64的区别c语言,32位 与 64 位 区别 : CPU 操作系统 应用程序...
1.64位CPU与32位CPU 这两者的指令集合.操作数位数.寄存器名称和个数等等都不相同. 一.比如一条mov eax,1指令,可能在32bCPU上对应的机器指令是0x1201:在64位机器上就是0 ...
- c语言时钟加秒表报告,51单片机秒表计时器课程设计报告(含C语言程序)-20210419061005.docx-原创力文档...
XXXXXX学院 51单片机系统设计课程设计报告 题 目:秒表系统设计 专业.班级: 学生姓名: 学号: 指导教师: 分数: [摘要]本设计是一个秒表计时器,采用51单片机实现.电路包括以下儿部分:单 ...
最新文章
- C++中public、protect和private用法区别
- How to recover from 'programmers burnout(转)
- 关于yum的/repodata/repomd.xml错误
- Linux upstart启动方式详解
- KMP算法的动态规划解说
- python接口测试类型_python 接口测试字符类型转换
- 位数不足前面补0mysql语句_MySQL查询添加0到少于9位数字?
- [转] android获取手机信息大全
- python面向对象继承_四. python面向对象(继承)
- linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)
- Python容器专题 - 列表(list)
- 白色情人节为你身边的程序猿献上一份礼物!
- 分享 | 绝对值得一看的深度学习三巨头之一的Yoshua Bengio清华大学讲座视频
- Js中去除数组中重复元素的4种方法
- ioMemory: fusion IO
- Qt QLabel双击编辑接口
- SPSS实现两变量偏相关分析
- 零基础入门学习Python4
- Java 8计算两个日期之间的月份
- c++工具库大全(值得收藏)