
1999 Microchip Technology Inc.
DS30561B-page 79
PIC12C67X
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 reg-
ister ’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
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
Encoding:
00
1100
dfff
ffff
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 reg-
ister ’f’.
Words:
1
Cycles:
1
Example
RRF
REG1,
0
Before Instruction
REG1
=
1110 0110
C
=0
After Instruction
REG1
=
1110 0110
W
=
0111 0011
C
=0
SLEEP
Syntax:
[
label ]
SLEEP
Operands:
None
Operation:
00h
→ WDT,
0
→ WDT prescaler,
1
→ TO,
0
→ PD
Status Affected:
TO, PD
Encoding:
00
0000
0110
0011
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.
Words:
1
Cycles:
1
Example:
SLEEP
Register f
C