PIC16C55X
RRF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Rotate Right f through Carry
[ label ] RRF f,d
0 ≤ f ≤ 127
d ∈ [0,1]
See description below
C
00
1100 dfff ffff
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'.
C
Register f
Words:
Cycles:
Example
1
1
RRF
REG1,0
Before Instruction
REG1 = 1110 0110
C
=0
After Instruction
REG1 = 1110 0110
W = 0111 0011
C
=0
SLEEP
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example:
[ label SLEEP
]
None
00h → WDT,
0 → WDT prescaler,
1 → TO,
0 → PD
TO, PD
00
0000 0110 0011
The power-down status bit, PD is
cleared. Timeout status bit, TO is
set. Watchdog Timer and its
prescaler are cleared.
The processor is put into SLEEP
mode with the oscillator stopped.
See Section 6.8 for more details.
1
1
SLEEP
SUBLW
Syntax:
Operands:
Operation:
Status
Affected:
Encoding:
Description:
Words:
Cycles:
Example 1:
Example 2:
Example 3:
Subtract W from Literal
[ label ] SUBLW k
0 ≤ k ≤ 255
k - (W) → (W)
C, DC, Z
11
110x kkkk kkkk
The W register is subtracted (2’s com-
plement method) from the eight bit literal
'k'. The result is placed in the W register.
1
1
SUBLW 0x02
Before Instruction
W=1
C =?
After Instruction
W=1
C = 1; result is positive
Before Instruction
W=2
C =?
After Instruction
W=0
C = 1; result is zero
Before Instruction
W=3
C =?
After Instruction
W=
C=
tive
0xFF
0; result is nega-
2002 Microchip Technology Inc.
Preliminary
DS40143D-page 63