Microchip Technology IC MCU FLASH 4K PIC16LF88-I/P DIP-18 MCP PIC16LF88-I/P 데이터 시트

제품 코드
PIC16LF88-I/P
다운로드
페이지 230
PIC16F87/88
DS30487D-page 26
 2002-2013 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 reg-
ister. Any instruction using the INDF register actually
accesses the register pointed to by the File Select Reg-
ister, FSR. Reading the INDF register itself, indirectly
(FSR = 0) will read 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
(STATUS<7>), as shown in Figure 2-5.
A simple program to clear RAM locations 20h-2Fh
using indirect addressing is shown in Example 2-2.
EXAMPLE 2-2:
INDIRECT ADDRESSING
FIGURE 2-5:
DIRECT/INDIRECT ADDRESSING
MOVLW 0x20
;initialize pointer
MOVWF FSR
;to RAM
NEXT
CLRF
INDF
;clear INDF register
INCF
FSR, F
;inc pointer
BTFSS FSR, 4
;all done? 
GOTO
NEXT
;no clear next
CONTINUE
:
;yes continue
Note 1:
For register file map detail, see Figure 2-2 or Figure 2-3.
Data
Memory
(1)
Indirect Addressing
Direct Addressing
Bank Select
Location Select
RP1:RP0
6
0
From Opcode
IRP
FSR Register
7
0
Bank Select
Location Select
00
01
10
11
Bank 0
Bank 1
Bank 2
Bank 3
FFh
80h
7Fh
00h
17Fh
100h
1FFh
180h