PIC24HJ32GP202 MICROCHIP [Microchip Technology], PIC24HJ32GP202 Datasheet - Page 40

no-image

PIC24HJ32GP202

Manufacturer Part Number
PIC24HJ32GP202
Description
High-Performance, 16-bit Microcontrollers
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
PIC24HJ32GP202/204 and PIC24HJ16GP304
3.4.2
The TBLRDL and TBLWTL instructions offer a direct
method to read or write the lower word of any address
within the program space without going through data
space. The TBLRDH and TBLWTH instructions are the
only methods to read or write the upper 8 bits of a pro-
gram space word as data.
The PC is incremented by 2 for each successive 24-bit
program word. This allows program memory addresses
to directly map to data space addresses. Program
memory can thus be regarded as two 16-bit wide word
address spaces, residing side by side, each with the
same address range. TBLRDL and TBLWTL access the
space that contains the least significant data word.
TBLRDH and TBLWTH access the space that contains
the upper data byte.
Two table instructions are provided to move byte or
word sized (16-bit) data to and from program space.
Both function as either byte or word operations.
• TBLRDL (Table Read Low): In Word mode, this
FIGURE 3-6:
DS70289A-page 38
instruction maps the lower word of the program
space location (P<15:0>) to a data address
(D<15:0>).
TBLPAG
02
DATA ACCESS FROM PROGRAM
MEMORY USING TABLE
INSTRUCTIONS
23
ACCESSING PROGRAM MEMORY WITH TABLE INSTRUCTIONS
15
0
0x000000
0x020000
0x030000
0x800000
Program Space
Preliminary
The address for the table operation is determined by the data EA
within the page defined by the TBLPAG register.
Only read operations are shown; write operations are also valid in
the user memory area.
TBLRDH.B (Wn<0> = 0)
TBLRDL.B (Wn<0> = 1)
TBLRDL.B (Wn<0> = 0)
TBLRDL.W
• TBLRDH (Table Read High): In Word mode, this
In a similar fashion, two table instructions, TBLWTH
and TBLWTL, are used to write individual bytes or
words to a program space address. The details of
their operation are explained in Section 4.0 “Flash
Program Memory”.
For all table operations, the area of program memory
space to be accessed is determined by the Table Page
register (TBLPAG). TBLPAG covers the entire program
memory space of the device, including user and config-
uration spaces. When TBLPAG<7> = 0, the table page
is located in the user memory space. When
TBLPAG<7> = 1, the page is located in configuration
space.
‘Phantom’ Byte
In Byte mode, either the upper or lower byte of the
lower program word is mapped to the lower byte of
a data address. The upper byte is selected when
Byte Select is ‘1’; the lower byte is selected when
it is ‘0’.
instruction maps the entire upper word of a program
address (P<23:16>) to a data address. Note that
D<15:8>, the ‘phantom byte’, will always be ‘0’.
In Byte mode, this instruction maps the upper or
lower byte of the program word to D<7:0> of the
data address, as in the TBLRDL instruction. Note
that the data will always be ‘0’ when the upper
‘Phantom’ byte is selected (Byte Select = 1).
00000000
00000000
00000000
00000000
23
16
© 2007 Microchip Technology Inc.
8
0

Related parts for PIC24HJ32GP202