当前课程知识点:单片机原理及应用 > 3 指令系统 > 3.11 算术运算类指令特点 > 算术运算类指令特点
同学 你好
今天我们将学习51单片机的算术运算指令
与数据传送类指令不同
多数算术运算指令会影响标志位的状态
即CPU在执行算术运算指令后
根据数据操作的情况
会自动的设置标志位的状态
51单片机的程序状态字寄存器PSW
为标志寄存器
其字节地址为D0H
寄存器中各标志位的情况
可以见这个表中所示
下面我们来看一看每一个标志位的具体含义
先看一下标志位里面的最高位Cy
Cy为进位或借位标志位
保存运算后最高位的借位或进位的状态
当有进位或借位发生时
CPU将自动地把Cy这一位 置一
否则Cy是零
AC为辅助进位借位标志位
它保存的是低半字节的进位或借位的状态
当第三位产生进位或者借位时
CPU就会把AC这个位 置一
否则 AC是为零
OV这个位叫做溢出标志位
OV位怎么设定
CPU会根据计算结果的Cy7和Cy6的情况
来做异或来设定OV的状态
什么叫Cy7
比如说我们来做八位二进制加法时
Cy7就表示的是
加法的八位的最高位有进位
Cy7就会置一
如果最高位没有进位
那么就是Cy7是0
Cy6指的是作八位二进制加法时
次高位相加时如果次高位有进位
就把Cy6置一
如果次高位没有进位
Cy6就等于0
溢出标志位OV的设置的结果
就是把Cy7为何Cy6位的结果来做异或
主要是用在补码运算中产生溢出时
就会把OV置一
否则 OV就是为零
再来看一看P这一位
P为奇偶标志位
它反映的是累加器A中数据的奇偶性
当我们的累加器A中的1的个数
是奇数个时
CPU就会自动的把P置一
否则的话P就是为零
这是几个主要的标志位
好的
下面我们来继续来看一看F0和F1
F0和F1为用户自定义标志位
这两位是由我们用户自行设定的
CPU不会自己来设定
再就是RS1和RS0
这两位我们前面专门介绍过其功能
它实际上是工作寄存器区选择标志位
其值对应于工作寄存器区的选择情况
可以见表中所示
当RS1 RS0设为00时
0和R7表示的是0区的R0和R7
类似地
如果这两位设定的是01
这个是1区的R0和R7
如果设为10
就是2区的R0和R7
如果是设为11
就是3区的R0和R7
在复位的状态下
51单片机会自动的把PSW清零
因此在这个程序上电复位时
我们的PSW中的八位是全部是零的
好
下面我们可以来看一看这个例题
要求复位后
设置使用工作寄存器的2区
其余的标志位不变
如何来选择让我们的单片机
来使用的是工作寄存器的2区
我们知道工作寄存器区的选择
是由PSW中的RS1和RS0
就是说的B4和B3这两位的值来设定的
而PSW本身是属于片内RAM的高128个单元
所以你可以通过MOV指令
向PSW赋予一个初值
初值中把B4和B3位设为10
其他的位就全部设为零
这时候相当于是MOV PSW ,#10H
这条指令执行完之后
相当于在PSW中
那么B4和B3位是10
其他的位全都保持不变 保持为0
以上就是我们标志位寄存器的它的功能
以及对他怎么样来赋予初值的办法
好的
今天的课就到这里
同学们再见
-1.1 单片机的名称
--单片机的名称
-1.2 单片机的相关概念
--单片机的相关概念
-1.3 单片机的设计语言及软件
-1.4 单片机的发展
--单片机的发展
-1.5单片机的应用
--单片机的应用
-1.6 第一单元作业
-2.1 单片机的结构框图
--单片机的结构框图
-2.2 80C51内部结构
-2.3 信号引脚
--信号引脚
-2.4 内部数据存储器RAM
-2.5 特殊功能寄存器
--特殊功能寄存器
-2.6 堆栈
--堆栈
-2.7 内部程序存储器ROM
-2.8 存储器的结构特点
--存储器的结构特点
-2.9 并行输入输出接口电路
-2.10 并口功能与时序
--并口功能与时序
-2.11 工作方式
--工作方式
-2.12 最小应用系统
-- 最小应用系统
-2.13 第二单元作业
-3.1 指令格式
--指令格式
-3.2 立即寻址与直接寻址
-3.3 寄存器寻址与寄存器间接寻址
-3.4 变址间接寻址与位寻址
-3.5 内部RAM传送指令
-3.6 外部RAM传送指令
-3.7 ROM传送指令
--ROM传送指令
-3.8 交换指令
--交换指令
-3.9 堆栈操作指令
--堆栈操作指令
-3.10 传送类指令习题讲解
-3.11 算术运算类指令特点
-3.12 加法指令
--加法指令
-3.13 加法习题、减法和乘除指令
-3.14 逻辑运算指令
--逻辑运算指令
-3.15 布尔变量操作指令
--布尔变量操作指令
-3.16 无条件转移指令
--无条件转移指令
-3.17 条件转移指令
--条件转移指令
-3.18 循环转移指令
--循环转移指令
-3.19 子程序相关指令
--子程序相关指令
-3.20 并口访问指令及指令小结
-3.21 第三单元作业
-4.1 汇编程序约定
--汇编程序约定
-4.2 宏指令
--宏指令
-4.3 汇编控制指令
--汇编控制指令
-4.4 汇编语言程序设计步骤
-4.5 顺序程序举例
-- 顺序程序举例
-4.6 单重分支结构
--单重分支结构
-4.7 多重分支结构
--多重分支结构
-4.8 单重循环结构
--单重循环结构
-4.9 计数控制循环程序
--计数控制循环程序
-4.10 特征控制循环程序
-- 特征控制循环程序
-4.11 多重循环程序
--多重循环程序
-4.12 子程序的概念
--子程序的概念
-4.13 子程序设计注意事项
-4.14 子程序举例
--子程序举例
-4.15 第四单元作业
-5.1 系统扩展
--系统扩展
-5.2 51单片机扩展方法
-5.3 存储器单元位数扩充方法
-5.4 存储器容量单元扩充方法
-5.5 译码线选法
--译码线选法
-5.6 程序存储器的类型
--程序存储器的类型
-5.7 程序存储器的扩展
--程序存储器的扩展
-5.8 数据存储器的扩展
--数据存储器的扩展
-5.9 存储器综合扩展
--存储器综合扩展
-5.10 单片机存储器系统的特点
-- 单片机存储器系统的特点
-5.11 第五单元作业
-6.1 中断技术
--中断技术
-6.2 中断优先级及中断系统内部结构
-6.3 中断控制寄存器及中断响应过程
-6.4 中断请求的撤消
--中断请求的撤消
-6.5 外部中断举例
--外部中断举例
-6.6 定时器/计数器
--定时器/计数器
-6.7 定时计数器工作方式及程序编写
-6.8 定时器举例
--定时器举例
-6.9 第六单元作业
-7.1 并行接口
-- 并行接口
-7.2 并口举例
--并口举例
-7.3 并口扩展芯片
--并口扩展芯片
-7.4 8155连接方式及编程
-7.5 键盘接口技术
--键盘接口技术
-7.6 按键处理程序及举例
-7.7 键盘扫描子程序
-- 键盘扫描子程序
-7.8 显示接口技术
--显示接口技术
-7.9 多位字符静态显示
--多位字符静态显示
-7.10 多位字符动态显示
--多位字符动态显示
-7.11 第七单元作业
-8.1 流水灯控制系统设计
--html
-8.2 数码管显示系统设计
--html
-8.3 按键控制系统设计
--html
-8.4 中断控制系统设计
--html
-8.5 定时计数器系统设计
--html
-8.6 串口通信系统设计
--html
-8.7 汉字显示系统设计
--html
-8.8 单片机烧录方法
--单片机烧录方法
-8.9 第八章作业-作业