PIC18F010/020
SUBWF
Syntax:
Subtract WREG from f
[ label ] SUBWF f [ ,d [,a] ]
Operands:
0 ≤ f ≤ 255
d ∈ [0,1]
a ∈ [0,1]
Operation:
(f) – (WREG) → dest
Status Affected: N,OV, C, DC, Z
Encoding:
0101 11da ffff ffff
Description:
Subtract WREG from register 'f'
(2’s complement method). If 'd' is
0, the result is stored in WREG. 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, the Bank will be selected as per
the BSR value.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Decode
Q2
Read
register ’f’
Q3
Process
Data
Q4
Write to
destination
SUBWF
Example 1:
Subtract WREG from f (cont’d)
SUBWF REG
Before Instruction
REG = 3
WREG = 2
C
=?
After Instruction
REG = 1
WREG = 2
C
=1
Z
=0
N
=0
; result is positive
Example 2:
SUBWF REG, W
Before Instruction
REG = 2
WREG = 2
C
=?
After Instruction
REG = 2
WREG = 0
C
=1
Z
=1
N
=0
; result is zero
Example 3:
SUBWF REG
Before Instruction
REG = 1
WREG = 2
C
=?
After Instruction
REG =
WREG =
C
=
Z
=
N
=
0xFF ;(2’s complement)
2
0 ; result is negative
0
1
DS41142A-page 132
Preliminary
2001 Microchip Technology Inc.