|
PIC18F2331_07 Datasheet, PDF (327/400 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 f [,d [,a]]
0 ⤠f ⤠255
d â [0,1]
a â [0,1]
(f) â (W) â dest
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 = 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
© 2007 Microchip Technology Inc.
Preliminary
DS39616C-page 325
|
▷ |