English
Language : 

PIC18F2331_10 Datasheet, PDF (319/392 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High-Performance PWM and A/D
PIC18F2331/2431/4331/4431
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 8-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 ; result is positive
Z
=0
N
=0
Example 2:
SUBLW 0x02
Before Instruction
W
=2
C
=?
After Instruction
W
=0
C
= 1 ; result is zero
Z
=1
N
=0
Example 3:
SUBLW 0x02
Before Instruction
W
=3
C
=?
After Instruction
W
=
C
=
Z
=
N
=
FF ; (2’s complement)
0 ; result is negative
0
1
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
N, OV, C, DC, Z
f [,d [,a]]
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’.
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.
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 = 1
W
=2
C
=1
Z
=0
N
=0
; result is positive
Example 2:
SUBWF REG, W
Before Instruction
REG = 2
W
=2
C
=?
After Instruction
REG = 2
W
=0
C
=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
 2010 Microchip Technology Inc.
DS39616D-page 319