PIC18F2331/2431/4331/4431
RETURN
Return from Subroutine
RLCF
Rotate Left f through Carry
Syntax:
[ label ] RETURN [s]
s [0,1]
Syntax:
[ label ]
RLCF f [,d [,a]]
Operands:
Operation:
Operands:
0 f 255
d [0,1]
a [0,1]
(TOS) PC;
if s = 1:
(WS) W,
Operation:
(f<n>) dest<n + 1>,
(f<7>) C,
(C) dest<0>
(STATUSS) STATUS,
(BSRS) BSR,
PCLATU, PCLATH are unchanged
Status Affected:
Encoding:
C, N, Z
Status Affected:
Encoding:
None
0011
01da
ffff
ffff
0000
0000
0001
001s
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 W. If ‘d’
is ‘1’, the result is stored back in regis-
ter, ‘f’. If ‘a’ is ‘0’, the Access Bank will
be selected, overriding the BSR value.
If ‘a’ = 1, then the bank will be selected
as per the BSR value.
Description:
Return from subroutine. The stack is
popped and the top of the stack (TOS)
is loaded into the program counter. If
‘s’= 1, the contents of the shadow
registers, WS, STATUSS and BSRS,
are loaded into their corresponding
registers, W, STATUS and BSR. If
‘s’ = 0, no update of these registers
occurs.
register f
C
Words:
Cycles:
1
2
Words:
Cycles:
1
1
Q Cycle Activity:
Q1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Q2
Read
register ‘f’
Q3
Process
Data
Q4
Decode
No
operation
Process
Data
POP PC
from stack
Decode
Write to
destination
No
No
No
No
operation
operation
operation
operation
Example:
RLCF
REG, W
Before Instruction
REG
C
=
=
1110 0110
0
Example:
RETURN
After Interrupt
After Instruction
PC = TOS
REG
W
=
=
=
1110 0110
1100 1100
1
C
2010 Microchip Technology Inc.
DS39616D-page 315