
PIC16(L)F1825/1829
DS41440C-page 344
2010-2012 Microchip Technology Inc.
RETFIE
Return from Interrupt
Syntax:
[ label ]
RETFIE
Operands:
None
Operation:
TOS
PC,
1 GIE
Status Affected:
None
Description:
Return from Interrupt. Stack is POPed
and Top-of-Stack (TOS) is loaded in
the PC. Interrupts are enabled by
setting Global
Interrupt Enable bit, GIE
(INTCON<7>). This is a two-cycle
instruction.
Words:
1
Cycles:
2
Example:
RETFIE
After Interrupt
PC =
TOS
GIE =
1
RETLW
Return with literal in W
Syntax:
[ label ]
RETLW k
Operands:
0
k 255
Operation:
k
(W);
TOS
PC
Status Affected:
None
Description:
The W register is loaded with the eight
bit literal ‘k’. The program counter is
loaded from the top of the stack (the
return address). This is a two-cycle
instruction.
Words:
1
Cycles:
2
Example:
TABLE
CALL TABLE;W contains table
;offset value
;W now has table value
ADDWF PC ;W = offset
RETLW k1 ;Begin table
RETLW k2 ;
RETLW kn ; End of table
Before Instruction
W
=
0x07
After Instruction
W
=
value of k8
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.
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’.
Words:
1
Cycles:
1
Example:
RLF
REG1,0
Before Instruction
REG1
=
1110 0110
C=
0
After Instruction
REG1
=
1110 0110
W
=
1100 1100
C=
1
Register f
C