Datasheet

PIC16F62X
DS40300C-page 118 Preliminary 2003 Microchip Technology Inc.
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 14.9 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
complement 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 negative