English
Language : 

PIC18FXX8 Datasheet, PDF (319/402 Pages) Microchip Technology – 28/40-Pin High-Performance, Enhanced Flash Microcontrollers with CAN Module
SUBLW
Subtract W from Literal
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
[ label ] SUBLW k
0 ≤ k ≤ 255
k – (W) → W
N, OV, C, DC, Z
0000 1000 kkkk kkkk
W is subtracted from the eight-bit
literal ‘k’. The result is placed in W.
1
1
Q2
Read
literal ‘k’
Q3
Process
Data
Q4
Write to W
Example 1:
SUBLW 0x02
Before Instruction
W
=1
C
=?
After Instruction
W
=1
C
=1
Z
=0
N
=0
; result is positive
Example 2:
SUBLW 0x02
Before Instruction
W
=2
C
=?
After Instruction
W
=0
C
=1
Z
=1
N
=0
; result is zero
Example 3:
SUBLW 0x02
Before Instruction
W
=3
C
=?
After Instruction
W
= FF ; (2’s complement)
C
= 0 ; result is negative
Z
=0
N
=1
PIC18FXX8
SUBWF
Subtract W from f
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
[ label ] SUBWF
0 ≤ f ≤ 255
d ∈ [0,1]
a ∈ [0,1]
(f) – (W) → dest
f [,d [,a]]
N, OV, C, DC, Z
0101 11da ffff ffff
Subtract W from register ‘f’ (2’s
complement method). If ‘d’ is ‘0’, the
result is stored in W. If ‘d’ is ‘1’, the
result is stored back in register ‘f’
(default). If ‘a’ is ‘0’, the Access Bank
will be selected, overriding the BSR
value. If ‘a’ is ‘1’, then the bank will be
selected as per the BSR value
(default).
1
1
Q2
Read
register ‘f’
Q3
Process
Data
Q4
Write to
destination
Example 1:
SUBWF REG
Before Instruction
REG = 3
W
=2
C
=?
After Instruction
REG
W
C
Z
=1
=2
=1
=0
N
=0
; result is positive
Example 2:
SUBWF REG, W
Before Instruction
REG = 2
W
=2
C
=?
After Instruction
REG
W
C
=2
=0
=1
Z
=1
N
=0
; result is zero
Example 3:
SUBWF REG
Before Instruction
REG =
W
=
C
=
After Instruction
REG =
W
=
C
=
Z
=
N
=
0x01
0x02
?
0xFFh ;(2’s complement)
0x02
0x00 ; result is negative
0x00
0x01
 2004 Microchip Technology Inc.
DS41159D-page 317