English
Language : 

PIC17C7XX_13 Datasheet, PDF (226/306 Pages) Microchip Technology – High-Performance 8-bit CMOS EPROM Microcontrollers with 10-bit A/D
PIC17C7XX
SUBWF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
Subtract WREG from f
[ label ] SUBWF f,d
0 f 255
d  [0,1]
(f) – (W) dest)
OV, C, DC, Z
0000 010d ffff ffff
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'.
1
1
Q2
Read
register 'f'
Q3
Process
Data
Q4
Write to
destination
Example 1:
SUBWF REG1, 1
Before Instruction
REG1 = 3
WREG = 2
C
=?
After Instruction
REG1 = 1
WREG = 2
C
=1
Z
=0
; result is positive
Example 2:
Before Instruction
REG1 = 2
WREG = 2
C
=?
After Instruction
REG1 = 0
WREG = 2
C
=1
Z
=1
; result is zero
Example 3:
Before Instruction
REG1 = 1
WREG = 2
C
=?
After Instruction
REG1 = FF
WREG = 2
C
=0
Z
=0
; result is negative
SUBWFB
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
Subtract WREG from f with
Borrow
[ label ] SUBWFB f,d
0  f  255
d  [0,1]
(f) – (W) – C dest)
OV, C, DC, Z
0000 001d ffff ffff
Subtract WREG and the carry flag
(borrow) from register 'f' (2’s comple-
ment method). If 'd' is 0, the result is
stored in WREG. If 'd' is 1, the result is
stored back in register 'f'.
1
1
Q2
Read
register 'f'
Q3
Process
Data
Q4
Write to
destination
Example 1:
SUBWFB REG1, 1
Before Instruction
REG1 = 0x19
WREG = 0x0D
C
=1
(0001 1001)
(0000 1101)
After Instruction
REG1 =
WREG =
C
=
Z
=
0x0C
0x0D
1
0
(0000 1011)
(0000 1101)
; result is positive
Example2:
SUBWFB REG1,0
Before Instruction
REG1 = 0x1B
WREG = 0x1A
C
=0
(0001 1011)
(0001 1010)
After Instruction
REG1 =
WREG =
C
=
Z
=
0x1B
0x00
1
1
(0001 1011)
; result is zero
Example3:
SUBWFB REG1,1
Before Instruction
REG1 = 0x03
WREG = 0x0E
C
=1
(0000 0011)
(0000 1101)
After Instruction
REG1 =
WREG =
C
=
Z
=
0xF5
0x0E
0
0
(1111 0100) [2’s comp]
(0000 1101)
; result is negative
DS30289C-page 226
 1998-2013 Microchip Technology Inc.