English
Language : 

PIC18F2331 Datasheet, PDF (326/396 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High Performance PWM and A/D
PIC18F2331/2431/4331/4431
SUBWFB
Subtract W from f with Borrow
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
[ label ] SUBWFB f [,d [,a]]
0 ≤ f ≤ 255
d ∈ [0,1]
a ∈ [0,1]
(f) – (W) – (C) → dest
N, OV, C, DC, Z
0101 10da ffff ffff
Subtract W and the carry flag (bor-
row) 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
Q Cycle Activity:
Q1
Q2
Decode
Read
register ‘f’
Q3
Process
Data
Q4
Write to
destination
Example 1:
SUBWFB REG, 1, 0
Before Instruction
REG = 0x19
W
= 0x0D
C
= 0x01
After Instruction
REG = 0x0C
W
= 0x0D
C
= 0x01
Z
= 0x00
N
= 0x00
(0001 1001)
(0000 1101)
(0000 1011)
(0000 1101)
; result is positive
Example 2:
SUBWFB REG, 0, 0
Before Instruction
REG = 0x1B
W
= 0x1A
C
= 0x00
After Instruction
REG = 0x1B
W
= 0x00
C
= 0x01
Z
= 0x01
N
= 0x00
(0001 1011)
(0001 1010)
(0001 1011)
; result is zero
Example 3:
SUBWFB REG, 1, 0
Before Instruction
REG = 0x03
W
= 0x0E
C
= 0x01
After Instruction
REG = 0xF5
W
= 0x0E
C
= 0x00
Z
= 0x00
N
= 0x01
(0000 0011)
(0000 1101)
(1111 0100)
; [2’s comp]
(0000 1101)
; result is negative
DS39616B-page 324
Preliminary
 2003 Microchip Technology Inc.