Microchip Technology MA160014 Data Sheet

Page of 560
 2010-2012 Microchip Technology Inc.
DS41412F-page 419
PIC18(L)F2X/4XK22
 
 
 
 
 
 
SUBFSR
Subtract Literal from FSR 
Syntax:
SUBFSR f, k
Operands:
 k  63
 [ 0, 1, 2 ]
Operation:
FSR(f) – k 
 FSRf
Status Affected:
None
Encoding:
1110
1001
ffkk
kkkk
Description:
The 6-bit literal ‘k’ is subtracted from 
the contents of the FSR specified by 
‘f’.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ‘f’
Process 
Data
Write to 
destination
Example:
SUBFSR 2, 23h
Before Instruction
FSR2
=
03FFh
After Instruction
FSR2
=
03DCh
SUBULNK
Subtract Literal from FSR2 and Return
Syntax:
SUBULNK   k
Operands:
 k  63
Operation:
FSR2 – k 
 FSR2
(TOS) 
PC
Status Affected: None
Encoding:
1110
1001
11kk
kkkk
Description:
The 6-bit literal ‘k’ is subtracted from the 
contents of the FSR2. A RETURN is then 
executed by loading the PC with the TOS. 
The instruction takes two cycles to 
execute; a NOP is performed during the 
second cycle.
This may be thought of as a special case of 
the SUBFSR instruction, where f = 3 (binary 
‘11’); it operates only on FSR2. 
Words:
1
Cycles:
2
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ‘f’
Process 
Data
Write to 
destination
No
Operation
No
Operation
No
Operation
No
Operation
Example:
SUBULNK 23h
Before Instruction
FSR2
=
03FFh
PC
=
0100h
After Instruction
FSR2
=
03DCh
PC
=
(TOS)