|
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
|
▷ |