English
Language : 

PIC16F720_13 Datasheet, PDF (24/254 Pages) Microchip Technology – 20-Pin Flash Microcontrollers
PIC16(L)F720/721
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
the STATUS register, as shown in Figure 2-6.
A simple program to clear RAM location 020h-02Fh
using indirect addressing is shown in Example 2-2.
EXAMPLE 2-2: INDIRECT ADDRESSING
MOVLW 020h ;initialize pointer
MOVWF FSR ;to RAM
BANKISEL 020h
NEXT CLRF INDF ;clear INDF register
INCF FSR ;inc pointer
BTFSS FSR,4 ;all done?
GOTO NEXT ;no clear next
CONTINUE
;yes continue
FIGURE 2-6:
DIRECT/INDIRECT ADDRESSING
Direct Addressing
RP1 RP0 6 From Opcode 0
Indirect Addressing
IRP
7
File Select Register0
Bank Select Location Select
00
01
00h
Bank Select
10
11
180h
Location Select
Data
Memory
7Fh
Bank 0
Bank 1 Bank 2
1FFh
Bank 3
Note: For memory map detail, refer to Figures 2-3 and 2-4.
DS41430D-page 24
 2010-2013 Microchip Technology Inc.