Datasheet
1996-2013 Microchip Technology Inc. Preliminary DS40143E-page 63
PIC16C55X
RRF Rotate Right f through Carry
Syntax: [ label ] RRF f,d
Operands: 0 f 127
d [0,1]
Operation: See description below
Status Affected: C
Encoding:
00 1100 dfff ffff
Description:
The contents of register 'f' are rotated
one bit to the right through the Carry
Flag. If 'd' is 0 the result is placed in
the W register. If 'd' is 1 the result is
placed back in register 'f'
.
Words: 1
Cycles: 1
Example
RRF REG1,0
Before Instruction
REG1 = 1110 0110
C =0
After Instruction
REG1 = 1110 0110
W = 0111 0011
C =0
SLEEP
Syntax: [ label
]
SLEEP
Operands: None
Operation: 00h WDT,
0 WDT prescaler,
1 TO
,
0 PD
Status Affected: TO, PD
Encoding:
00 0000 0110 0011
Description:
The power-down status bit, PD is
cleared. Timeout status bit, TO
is
set. Watchdog Timer and its
prescaler are cleared.
The processor is put into SLEEP
mode with the oscillator stopped.
See Section 6.8 for more details.
Words: 1
Cycles: 1
Example:
SLEEP
Register fC
SUBLW Subtract W from Literal
Syntax: [ label ] SUBLW k
Operands: 0 k 255
Operation: k - (W) W)
Status
Affected:
C, DC, Z
Encoding:
11 110x kkkk kkkk
Description:
The W register is subtracted (2’s com-
plement method) from the eight bit literal
'k'. The result is placed in the W register.
Words: 1
Cycles: 1
Example 1:
SUBLW 0x02
Before Instruction
W=1
C=?
After Instruction
W=1
C = 1; result is positive
Example 2: Before Instruction
W=2
C=?
After Instruction
W=0
C = 1; result is zero
Example 3: Before Instruction
W=3
C=?
After Instruction
W=0xFF
C = 0; result is nega-
tive