English
Language : 

PIC18F2331 Datasheet, PDF (325/396 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:
[ label ] SUBLW k
Operands:
0 ≤ k ≤ 255
Operation:
k – (W) → W
Status Affected: N, OV, C, DC, Z
Encoding:
0000 1000 kkkk kkkk
Description:
W is subtracted from the eight-bit
literal ‘k’. The result is placed in
W.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Decode
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
= FF ; (2’s complement)
C
= 0 ; result is negative
Z
=0
N
=1
SUBWF
Subtract W from f
Syntax:
[ label ] SUBWF f [,d [,a]]
Operands:
0 ≤ f ≤ 255
d ∈ [0,1]
a ∈ [0,1]
Operation:
(f) – (W) → dest
Status Affected: N, OV, C, DC, Z
Encoding:
0101 11da ffff ffff
Description:
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 regis-
ter ‘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).
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Decode
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 = 0x01
W
= 0x02
C
=?
After Instruction
REG = 0xFFh ;(2’s complement)
W
= 0x02
C
= 0x00 ; result is negative
Z
= 0x00
N
= 0x01
 2003 Microchip Technology Inc.
Preliminary
DS39616B-page 323