Datasheet

Table Of Contents
PIC16F627A/628A/648A
DS40044A-page 122 Preliminary 2002 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 reg-
ister. 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. Time out STA-
TUS bit, TO
is set. Watchdog
Timer and its prescaler are
cleared.
The processor is put into
SLEEP mode with the oscilla-
tor stopped. See Section 14.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
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