
2009 Microchip Technology Inc.
DS40044G-page 127
PIC16F627A/628A/648A
RETLW
Return with Literal in W
Syntax:
[ label ] RETLW k
Operands:
0
≤ k ≤ 255
Operation:
k
→ (W);
TOS
→ PC
Status Affected:
None
Encoding:
11
01xx
kkkk
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
Encoding:
00
0000
1000
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.
Words:
1
Cycles:
2
Example
RETURN
After Interrupt
PC = TOS
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
Encoding:
00
1101
dfff
ffff
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