pic c语言 位标志,PIC单片机状态寄存器中的C(进位/借位位标志)
查阅PIC单片机芯片手册,关于进位/借位位的说明为:
C:进位/借位位。
1 = 结果的最高位发生了进位
0 = 结果的最高位未发生进位
同时有一条标注:借位的极性是相反的。
通过以上说明,可以将C的分析分为两种情况:
1、加法:
最高位发生了进位:C = 1;
最高位未发生进位:C = 0;
2、减法:
最高位发生了借位:C = 0;
最高位未发生借位:C = 1;
为了加深理解,在MPLAB中写入一段代码,通过观测STATUS寄存器的值来测试以上分析:
1 ;测试SUBWF、ADDWF指令与状态寄存器C标志位的关系
2
3 LIST P=16F684
4 include "P16F684.INC"
5
6 Sub_Register_Small EQU 20H
7 Sub_Register_Large EQU 21H
8 Add_Register EQU 22H
9 Small_Status EQU 23H
10 Large_Status EQU 24H
11 Add_Status EQU 25H
12
13 ;被减数 < 减数
14 MOVLW 54H
15 MOVWF Sub_Register_Small
16 MOVLW 66H
17 SUBWF Sub_Register_Small, F
18
19 SWAPF STATUS, W ;保存状态寄存器值
20 MOVWF Small_Status
21 SWAPF Small_Status, F
22
23 ;被减数 > 减数
24 MOVLW 77H
25 MOVWF Sub_Register_Large
26 MOVLW 66H
27 SUBWF Sub_Register_Large, F
28
29 SWAPF STATUS, W ;保存状态寄存器值
30 MOVWF Large_Status
31 SWAPF Large_Status, F
32
33 ;加法进位
34 MOVLW 77H
35 MOVWF Add_Register
36 MOVLW 0BBH
37 ADDWF Add_Register, F
38
39 SWAPF STATUS, W ;保存状态寄存器值
40 MOVWF Add_Status
41 SWAPF Add_Status, F
42
43 END
启用仿真后,查看内存23H、24H、25H(保存的是以上三种操作后的STATUS)的值,结果如下:
Small_Status : 00011000B,对应C=0(最高位发生了借位)
Large_Status : 00011011B,对应C=1(最高位未发生借位)
Add_Status : 00011011B,对应C=1(最高位发生了进位)
为了简单便于记忆,可以把C的进/借位规则记为:加柴(1)做煎(减)蛋(0)!
pic c语言 位标志,PIC单片机状态寄存器中的C(进位/借位位标志)相关推荐
- pic c语言按键程序,PIC的C语言使用
<PIC的C语言使用>由会员分享,可在线阅读,更多相关<PIC的C语言使用(9页珍藏版)>请在人人文库网上搜索. 1.PIC的c语言使用在MPLAB-IDE中使用HitechC ...
- 【汇编】标志寄存器中的标志位
各标志在标志寄存器中的位置 一.运算结果标志位 1.进位标志位CF 进位标志CF主要用来反映运算是否产生进位或借位. 运算结果的最高位产生了一个进位或借位,那么,CF=1,否则CF=0. 2.零标志Z ...
- 51单片机auxr寄存器_STC12C5A60S2单片机AD采样程序及其寄存器讲解
/*************************************************************************************************** ...
- 在1 MB RAM中排序100万个8位数字
本文翻译自:Sorting 1 million 8-digit numbers in 1 MB of RAM I have a computer with 1 MB of RAM and no oth ...
- pic单片机c语言乘除法,PIC单片机C语言程序设计(2)
五.C语言的标识符和关键字本文引用地址:http://www.eepw.com.cn/article/171168.htm 一个完整的PICC语言程序,通常由包含文件(即头文件1,变量定义.变量说明. ...
- pic单片机c语言存储器定义,PIC单片机C语言程序设计1 7.PDF
PIC单片机C语言程序设计1 7 学电子跟我来FOLLOW ME PIC 单片机C 语言程序设计(1) ◆ 丁锦滔 编者按:为了帮助具有PI C 单片机汇编语言知识的技术人员或工程师,快速掌握利用C ...
- 《我和PIC单片机:基于PIC18》——第1章 初识PIC 1.1 与众不同的PIC
第1章 初识PIC 我们可以把单片机简单地理解成单芯片计算机.经过多年的发展,单片机的内涵被不断丰富,越来越多的功能被赋予给了这个单芯片计算机,使得其功能变得愈发强大.可以说,在单片机的江湖中,家族林 ...
- Great Cow BASIC (大母牛BASIC)一个开源的8位芯片PIC和Atmel AVR微控制器的BASIC编译器
Great Cow BASIC (大母牛BASIC编辑器) Great Cow BASIC 0.98.02(Great Cow Graphical BASIC)是一个开源的8位芯片PIC和Atmel ...
- c语言画曲线程序,单片机 LCD C语言画弧线的程序,哪位高手会
当前位置:我的异常网» 单片机 » 单片机 LCD C语言画弧线的程序,哪位高手会 单片机 LCD C语言画弧线的程序,哪位高手会 www.myexceptions.net 网友分享于:2013-0 ...
最新文章
- saiku执行过程代码跟踪
- 每日一皮:给老板演示刚做好的功能...
- 模块化和组件化的定义以及两者的区别
- 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-02-基于Python的卷积运算
- 一文讲透 Git 底层数据结构和原理
- [PAT乙级]1010 一元多项式求导
- Android Service与Thread的区别
- IIS Tomcat共享80端口
- arm9处理器 java_ARM处理器系列介绍
- 参考 雷霄骅https://blog.csdn.net/leixiaohua1020/article/list/28
- 2004世界五百强企业
- 服务器要使用两张网卡做bond0以实现网络冗余和提高带宽
- 融资租赁产品计算内部收益率IRR
- 打印端口用计算机名,如何设置打印机端口,教您设置电脑打印机端口
- 西电 计算机学院 博后流动站,西电7个博士后科研流动站接受专家组综合评估检查...
- 微信接入机器人实现对别人消息和群at消息的自动回复
- 当出现Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this
- 简单两步解决UCenter忘记创始人UCenter Administrator密码
- P3084 [USACO13OPEN]照片Photo(差分约束)
- 无线通信技术学习笔记——概述