
1999 Microchip Technology Inc.
DS40182C-page 75
PIC16CE62X
SUBLW
Subtract W from Literal
Syntax:
[
label ]
SUBLW k
Operands:
0
≤ k ≤ 255
Operation:
k - (W)
→ (W)
Status
Affected:
C, DC, Z
Encoding:
11
110x
kkkk
Description:
The W register is subtracted (2’s com-
plement method) from the eight bit literal
'k'. The result is placed in the W register.
Words:
1
Cycles:
1
Example 1:
SUBLW
0x02
Before Instruction
W=
1
C=
?
After Instruction
W=
1
C
=
1; result is positive
Example 2:
Before Instruction
W=
2
C=
?
After Instruction
W=
0
C
=
1; result is zero
Example 3:
Before Instruction
W=
3
C=
?
After Instruction
W=
0xFF
C
=
0; result is nega-
tive
SUBWF
Subtract W from f
Syntax:
[
label ]SUBWF f,d
Operands:
0
≤ f ≤ 127
d
∈ [0,1]
Operation:
(f) - (W)
→ (dest)
Status
Affected:
C, DC, Z
Encoding:
00
0010
dfff
ffff
Description:
Subtract (2’s complement method)
W register from register 'f'. If 'd' is 0, the
result is stored in the W register. If 'd' is 1,
the result is stored back in register 'f'.
Words:
1
Cycles:
1
Example 1:
SUBWF
REG1,1
Before Instruction
REG1
=
3
W=
2
C=
?
After Instruction
REG1
=
1
W=
2
C
=
1; result is positive
Example 2:
Before Instruction
REG1
=
2
W=
2
C=
?
After Instruction
REG1
=
0
W=
2
C
=
1; result is zero
Example 3:
Before Instruction
REG1
=
1
W=
2
C=
?
After Instruction
REG1
=
0xFF
W=
2
C
=
0; result is negative