
PIC16(L)F722A/723A
DS41417B-page 26
2010-2012 Microchip Technology Inc.
2.5
Indirect Addressing, INDF and
FSR Registers
The INDF register is not a physical register. Addressing
the INDF register will cause indirect addressing.
Indirect addressing is possible by using the INDF
register. Any instruction using the INDF register
actually accesses data pointed to by the File Select
Register (FSR). Reading INDF itself indirectly will
produce 00h. Writing to the INDF register indirectly
results in a no operation (although Status bits may be
affected). An effective 9-bit address is obtained by
concatenating the 8-bit FSR register and the IRP bit of
A simple program to clear RAM location 020h-02Fh
EXAMPLE 2-2:
INDIRECT ADDRESSING
FIGURE 2-6:
DIRECT/INDIRECT ADDRESSING
MOVLW020h
;initialize pointer
MOVWFFSR
;to RAM
BANKISEL020h
NEXTCLRFINDF
;clear INDF register
INCFFSR
;inc pointer
BTFSSFSR,4 ;all done?
GOTONEXT
;no clear next
CONTINUE
;yes continue
Note:
Data
Memory
Indirect Addressing
Direct Addressing
Bank Select
Location Select
RP1 RP0 6
0
From Opcode
IRP
File Select Register
7
0
Bank Select
Location Select
00
01
10
11
180h
1FFh
00h
7Fh
Bank 0
Bank 1
Bank 2
Bank 3