English
Language : 

PIC16C57-RCI Datasheet, PDF (61/194 Pages) Microchip Technology – EPROM/ROM-Based 8-bit CMOS Microcontroller Series
PIC16C5X
SUBWF
Subtract W from f
Syntax:
[label] SUBWF f,d
Operands:
0 ≤ f ≤ 31
d ∈ [0,1]
Operation:
(f) – (W) → (dest)
Status Affected: C, DC, Z
Encoding:
0000 10df ffff
Description:
Subtract (2’s complement method)
the W register from register 'f'. If 'd'
is 0 the result is stored in the W
register. If 'd' is 1 the result is
stored back in register 'f'.
Words:
1
Cycles:
1
Example 1:
SUBWF REG1, 1
Before Instruction
REG1
=3
W
=2
C
=?
After Instruction
REG1
=1
W
=2
C
= 1 ; result is positive
Example 2:
Before Instruction
REG1
=2
W
=2
C
=?
After Instruction
REG1
=0
W
=2
C
= 1 ; result is zero
Example 3:
Before Instruction
REG1
=1
W
=2
C
=?
After Instruction
REG1
= 0xFF
W
=2
C
= 0 ; result is negative
SWAPF
Swap Nibbles in f
Syntax:
[ label ] SWAPF f,d
Operands:
0 ≤ f ≤ 31
d ∈ [0,1]
Operation:
(f<3:0>) → (dest<7:4>);
(f<7:4>) → (dest<3:0>)
Status Affected: None
Encoding:
0011 10df ffff
Description:
Words:
Cycles:
The upper and lower nibbles of
register 'f' are exchanged. If 'd' is 0
the result is placed in W register. If
'd' is 1 the result is placed in
register 'f'.
1
1
Example
SWAPF REG1, 0
Before Instruction
REG1 =
After Instruction
REG1 =
W
=
0xA5
0xA5
0x5A
TRIS
Load TRIS Register
Syntax:
[ label ] TRIS f
Operands:
Operation:
Status Affected:
f = 5, 6 or 7
(W) → TRIS register f
None
Encoding:
0000 0000 0fff
Description:
TRIS register 'f' (f = 5, 6, or 7) is
loaded with the contents of the W
register.
Words:
1
Cycles:
1
Example
TRIS PORTB
Before Instruction
W
= 0xA5
After Instruction
TRISB = 0xA5
© 2002 Microchip Technology Inc.
Preliminary
DS30453D-page 59