English
Language : 

PIC18F44J50-I Datasheet, PDF (472/562 Pages) Microchip Technology – 28/44-Pin, Low-Power, High-Performance USB Microcontrollers
PIC18F46J50 FAMILY
SUBWFB
Subtract W from f with Borrow
Syntax:
SUBWFB f {,d {,a}}
Operands:
0  f  255
d  [0,1]
a  [0,1]
Operation:
Status Affected:
(f) – (W) – (C) dest
N, OV, C, DC, Z
Encoding:
Description:
0101 10da ffff ffff
Subtract W and the Carry flag (borrow)
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 is selected.
If ‘a’ is ‘1’, the BSR is used to select the
GPR bank (default).
Words:
If ‘a’ is ‘0’ and the extended instruction
set is enabled, this instruction operates
in Indexed Literal Offset Addressing
mode whenever f 95 (5Fh). See
Section 28.2.3 “Byte-Oriented and
Bit-Oriented Instructions in Indexed
Literal Offset Mode” for details.
1
Cycles:
1
Q Cycle Activity:
Q1
Decode
Q2
Read
register ‘f’
Q3
Process
Data
Q4
Write to
destination
Example 1:
SUBWFB
Before Instruction
REG
W
C
= 19h
= 0Dh
=1
After Instruction
REG
W
C
Z
N
= 0Ch
= 0Dh
=1
=0
=0
Example 2:
SUBWFB
Before Instruction
REG
W
C
= 1Bh
= 1Ah
=0
After Instruction
REG
W
C
Z
N
= 1Bh
= 00h
=1
=1
=0
Example 3:
SUBWFB
Before Instruction
REG
W
C
= 03h
= 0Eh
=1
After Instruction
REG = F5h
W
= 0Eh
C
=0
Z
=0
N
=1
REG, 1, 0
(0001 1001)
(0000 1101)
(0000 1011)
(0000 1101)
; result is positive
REG, 0, 0
(0001 1011)
(0001 1010)
(0001 1011)
; result is zero
REG, 1, 0
(0000 0011)
(0000 1101)
(1111 0100)
; [2’s comp]
(0000 1101)
; result is negative
DS39931D-page 472
SWAPF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
Swap f
SWAPF f {,d {,a}}
0  f  255
d  [0,1]
a  [0,1]
(f<3:0>)  dest<7:4>,
(f<7:4>)  dest<3:0>
None
0011 10da ffff ffff
The upper and lower nibbles of regis-
ter, ‘f’, are exchanged. If ‘d’ is ‘0’, the
result is placed in W. If ‘d’ is ‘1’, the
result is placed in register, ‘f’ (default).
If ‘a’ is ‘0’, the Access Bank is selected.
If ‘a’ is ‘1’, the BSR is used to select the
GPR bank (default).
If ‘a’ is ‘0’ and the extended instruction
set is enabled, this instruction operates
in Indexed Literal Offset Addressing
mode whenever f 95 (5Fh). See
Section 28.2.3 “Byte-Oriented and
Bit-Oriented Instructions in Indexed
Literal Offset Mode” for details.
1
1
Q2
Read
register ‘f’
Q3
Process
Data
Q4
Write to
destination
Example:
SWAPF
Before Instruction
REG = 53h
After Instruction
REG = 35h
REG, 1, 0
 2011 Microchip Technology Inc.