Detailed reference for the LFSR instruction in PIC18 ISA.
Move a 16‑bit literal value into a File Select Register (FSRx). The a operand selects the FSR register to be loaded: 0 for FSR0, 1 for FSR1, (and 2 for FSR2 on devices that support it). The literal f is split into the low and high bytes and transferred into the chosen FSR pair (FSRxL and FSRxH). This instruction is useful to set an indirect address for subsequent file register access.
LFSR f, a
; Load FSR0 with address 0x1234
LFSR 0x1234, 0 ; FSR0 = 0x1234; Load FSR0 with address 0x1234
LFSR 0x1234, 0 ; FSR0 = 0x1234; Load FSR1 with address 0x5678
LFSR 0x5678, 1 ; FSR1 = 0x5678; Load FSR1 with address 0x5678
LFSR 0x5678, 1 ; FSR1 = 0x5678; Load FSR2 with address 0xABCD (supported on devices with FSR2)
LFSR 0xABCD, 2 ; FSR2 = 0xABCD; Load FSR2 with address 0xABCD (supported on devices with FSR2)
LFSR 0xABCD, 2 ; FSR2 = 0xABCD