
2003 Microchip Technology Inc.
DS30569B-page 109
PIC16F870/871
RLF
Rotate Left f through Carry
Syntax:
[ label ] RLF
f,d
Operands:
0
≤ f ≤ 127
d
∈ [0,1]
Operation:
See description below
Status Affected:
C
Description:
The contents of register 'f' are rotated
one bit to the left through the Carry
Flag. If 'd' is 0, the result is placed in
the W register. If 'd' is 1, the result is
stored back in register 'f'.
RETURN
Return from Subroutine
Syntax:
[ label ]
RETURN
Operands:
None
Operation:
TOS
→ PC
Status Affected:
None
Description:
Return from subroutine. The stack
is POPed and the top of the stack
(TOS) is loaded into the program
counter. This is a two-cycle
instruction.
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
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'.
Register f
C
Register f
C
SLEEP
Syntax:
[ label ] SLEEP
Operands:
None
Operation:
00h
→ WDT,
0
→ WDT prescaler,
1
→ TO,
0
→ PD
Status Affected:
TO, PD
Description:
The power-down status bit, PD is
cleared. Time-out status bit, TO
is set. Watchdog Timer and its
prescaler are cleared.
The processor is put into SLEEP
mode with the oscillator stopped.
SUBLW
Subtract W from Literal
Syntax:
[ label ] SUBLW k
Operands:
0
≤ k ≤ 255
Operation:
k - (W)
→ (W)
Status Affected: C, DC, Z
Description:
The W register is subtracted (2’s
complement method) from the
eight-bit literal 'k'. The result is
placed in the W register.
SUBWF
Subtract W from f
Syntax:
[ label ] SUBWF f,d
Operands:
0
≤ f ≤ 127
d
∈ [0,1]
Operation:
(f) - (W)
→ (destination)
Status
Affected:
C, DC, Z
Description:
Subtract (2’s complement method)
W register from register 'f'. If 'd' is 0,
the result is stored in the W
register. If 'd' is 1, the result is
stored back in register 'f'.