
PIC18FXX39
DS30485A-page 246
Preliminary
2002 Microchip Technology Inc.
SLEEP
Enter SLEEP mode
Syntax:
[ label ] SLEEP
Operands:
None
Operation:
00h
鈫� WDT,
0
鈫� WDT postscaler,
1
鈫� TO,
0
鈫� PD
Status Affected:
TO, PD
Encoding:
0000
0011
Description:
The power-down status bit (PD) is
cleared. The time-out status bit
(TO) is set. Watchdog Timer and
its postscaler are cleared.
The processor is put into SLEEP
mode with the oscillator stopped.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
No
operation
Process
Data
Go to
sleep
Example:
SLEEP
Before Instruction
TO =?
PD =?
After Instruction
TO =1
PD =0
If WDT causes wake-up, this bit is cleared.
SUBFWB
Subtract f from W with borrow
Syntax:
[ label ] SUBFWB
f [,d [,a]
Operands:
0
鈮� f 鈮� 255
d
鈭� [0,1]
a
鈭� [0,1]
Operation:
(W) 鈥� (f) 鈥� (C)
鈫� dest
Status Affected:
N, OV, C, DC, Z
Encoding:
0101
01da
ffff
Description:
Subtract register 'f' and carry flag
(borrow) from W (2鈥檚 complement
method). If 'd' is 0, the result is
stored in W. If 'd' is 1, the result is
stored in register 'f' (default). If 鈥榓(ch菐n)鈥� is
0, the Access Bank will be selected,
overriding the BSR value. If 鈥榓(ch菐n)鈥� is 1,
then the bank will be selected as
per the BSR value (default).
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register 'f'
Process
Data
Write to
destination
Example 1:
SUBFWB
REG, 1, 0
Before Instruction
REG
=
3
W=
2
C=
1
After Instruction
REG
=
FF
W=
2
C=
0
Z=
0
N
=
1
; result is negative
Example 2:
SUBFWB
REG, 0, 0
Before Instruction
REG
=
2
W=
5
C=
1
After Instruction
REG
=
2
W=
3
C=
1
Z=
0
N
=
0
; result is positive
Example 3:
SUBFWB
REG, 1, 0
Before Instruction
REG
=
1
W=
2
C=
0
After Instruction
REG
=
0
W=
2
C=
1
Z
=
1
; result is zero
N=
0