
PIC16(L)F1516/7/8/9
3.2.1.1
状态寄存器
在状态寄存器,在所示
寄存器3-1 ,
包含:
ALU的算术运算状态
复位状态
STATUS寄存器可以是目的地的任何
指令,像任何其他寄存器。如果STATUS
寄存器作为目标的影响的指令
的Z, DC或C位,那么写这三位是
禁用。这些位是根据设置或清除
器件的逻辑。此外,TO和PD位是不可
可写。同的指令,因此,其结果
状态寄存器作为目标可能会比不同
意。
例如,
CLRF STATUS
将清零高3
位,并将Z位。这将使状态寄存器
得到“000u
u1uu’
(其中
u
=不变) 。
建议的,因此,只
BCF , BSF ,
SWAPF
和
MOVWF
指令来改变
状态寄存器,因为这些指令不
影响任何状态位。关于其他不
影响状态位(参见
第24.0节
“指令集汇总” ) 。
注1 :
C和DC位为借
和半借位,分别在
减法。
寄存器3-1:
U-0
—
第7位
图例:
R =可读位
U =位不变
' 1 ' =置
7-5位
4位
状态:状态寄存器
U-0
—
U-0
—
R-1/q
TO
R-1/q
PD
R/W-0/u
Z
R/W-0/u
DC
(1)
R/W-0/u
C
(1)
位0
W =可写位
X =未知
' 0 ' =清零
U =未实现位,读为'0'
-n / n =上电复位值和BOR /值所有其他复位
q =值取决于具体条件
未实现:
读为' 0 '
要:
超时位
1
=上电后,
CLRWDT
指令或
睡觉
指令
0
=发生了WDT超时
PD :
掉电位
1
=在上电或由
CLRWDT
指令
0
=执行的
睡觉
指令
Z:
零位
1
=算术或逻辑运算的结果为零
0
=算术或逻辑运算的结果不为零
DC :
半进位/半借位
(1)
1
=运算出结果的第4低位发生
0
=未发生进结果的第4低位
C:
进位/借位
(1)
1
=运算出结果的最高位发生
0
=未发生进结果的最高位发生
对于借位,极性是相反的。减法是通过加上2的补码的执行
第二个操作数。
第3位
第2位
第1位
位0
注1 :
2011 Microchip的技术公司
初步
DS41452B第25页