博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PIC单片机状态寄存器中的C(进位/借位位标志)
阅读量:5368 次
发布时间:2019-06-15

本文共 1557 字,大约阅读时间需要 5 分钟。

  查阅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        54H15 MOVWF        Sub_Register_Small16 MOVLW        66H17 SUBWF        Sub_Register_Small, F18 19 SWAPF        STATUS, W            ;保存状态寄存器值20 MOVWF        Small_Status21 SWAPF        Small_Status, F22 23 ;被减数 > 减数24 MOVLW        77H25 MOVWF        Sub_Register_Large26 MOVLW        66H27 SUBWF        Sub_Register_Large, F28 29 SWAPF        STATUS, W            ;保存状态寄存器值30 MOVWF        Large_Status31 SWAPF        Large_Status, F32 33 ;加法进位34 MOVLW        77H35 MOVWF        Add_Register36 MOVLW        0BBH37 ADDWF        Add_Register, F38 39 SWAPF        STATUS, W            ;保存状态寄存器值40 MOVWF        Add_Status41 SWAPF        Add_Status, F42 43 END

  启用仿真后,查看内存23H、24H、25H(保存的是以上三种操作后的STATUS)的值,结果如下:

     

  Small_Status  : 00011000B,对应C=0(最高位发生了借位)

  Large_Status : 00011011B,对应C=1(最高位未发生借位)

  Add_Status    : 00011011B,对应C=1(最高位发生了进位)

  为了简单便于记忆,可以把C的进/借位规则记为:加柴(1)做煎(减)蛋(0)!

 

转载于:https://www.cnblogs.com/xbook-ben/p/7543587.html

你可能感兴趣的文章
Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结...
查看>>
org.apache.solr.common.util.ContentStream.java及其实现类
查看>>
BZOJ4652 [Noi2016]循环之美 【数论 + 莫比乌斯反演 + 杜教筛】
查看>>
BZOJ3462 DZY Loves Math II 【多重背包 + 组合数】
查看>>
项目管理学习笔记之四.风险管理
查看>>
写给大数据开发初学者的话
查看>>
实现getElementsByClassName
查看>>
OpenCv 012---视频文件读写
查看>>
洛谷P3690 Link Cut Tree (模板)
查看>>
5.Python基础 缩进与选择的关系
查看>>
ACS蚁群算法求解对称TSP旅行商问题的JavaScript实现
查看>>
「学习笔记」类欧几里得算法
查看>>
读书笔记-HBase in Action-第二部分Advanced concepts-(1)HBase table design
查看>>
《程序猿的自我修养》系列技术文章整理收藏
查看>>
Android网络开发之用tcpdump抓包
查看>>
无法识别的属性“targetFramework”。请注意属性名称区分大写和小写。错误解决的方法...
查看>>
站点防止攻击
查看>>
TFS(Team Foundation Server)介绍和入门
查看>>
编程算法基础-一刀切法
查看>>
双slave的server_uuid同样问题
查看>>