PIC18F2682-I/PT MICROCHIP [Microchip Technology], PIC18F2682-I/PT Datasheet - Page 91

no-image

PIC18F2682-I/PT

Manufacturer Part Number
PIC18F2682-I/PT
Description
28/40/44-Pin Enhanced Flash Microcontrollers with ECAN Technology, 10-Bit A/D and nanoWatt Technology
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
5.4.3.1
At the core of Indirect Addressing are three sets of
registers: FSR0, FSR1 and FSR2. Each represents a
pair of 8-bit registers: FSRnH and FSRnL. The four
upper bits of the FSRnH register are not used, so each
FSR pair holds a 12-bit value. This represents a value
that can address the entire range of the data memory
in a linear fashion. The FSR register pairs, then, serve
as pointers to data memory locations.
Indirect Addressing is accomplished with a set of
Indirect File Operands: INDF0 through INDF2. These
can be thought of as “virtual” registers: they are
FIGURE 5-7:
© 2007 Microchip Technology Inc.
Using an instruction with one of the
Indirect Addressing registers as the
operand....
...uses the 12-bit address stored in
the FSR pair associated with that
register....
...to determine the data memory
location to be used in that operation.
In this case, the FSR1 pair contains
ECCh. This means the contents of
location ECCh will be added to that
of the W register and stored back in
ECCh.
FSR Registers and the
INDF Operand
INDIRECT ADDRESSING
7
x x x x 1 1 1 0
PIC18F2682/2685/4682/4685
ADDWF, INDF1, 1
Preliminary
FSR1H:FSR1L
0
7
1 1 0 0 1 1 0 0
mapped in the SFR space, but are not physically
implemented. Reading or writing to a particular INDF
register actually accesses its corresponding FSR
register pair. A read from INDF1, for example, reads
the data at the address indicated by FSR1H:FSR1L.
Instructions that use the INDF registers as operands
actually use the contents of their corresponding FSR as
a pointer to the instruction’s target. The INDF operand
is just a convenient way of using the pointer.
Because Indirect Addressing uses a full 12-bit address,
data RAM banking is not necessary. Thus, the current
contents of the BSR and Access RAM bit have no effect
on determining the target address.
0
FFFh
E00h
F00h
000h
100h
200h
300h
Data Memory
Bank 13
Bank 14
Bank 14
Bank 15
DS39761B-page 89
through
Bank 0
Bank 1
Bank 2
Bank 3

Related parts for PIC18F2682-I/PT