
PIC16F87XA
DS39582B-page 164
2003 Microchip Technology Inc.
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’.