zoukankan      html  css  js  c++  java
  • 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)!

  • 相关阅读:
    【leetcode】图像渲染
    【leetcode】不邻接植花
    052-75
    052-74
    052-73
    052-71
    052-70
    052-69
    052-67
    052-66
  • 原文地址:https://www.cnblogs.com/xbook-ben/p/7543587.html
Copyright © 2011-2022 走看看