Техническая Спецификация для Microchip Technology AC164139

Скачать
Страница из 408
PIC24FJ256DA210 FAMILY
DS39969B-page 74
 2010 Microchip Technology Inc.
The page registers (DSRPAG/DSWPAG) do not
update automatically while crossing a page boundary,
when the rollover happens from 0xFFFF to 0x8000.
While developing code in assembly, care must be taken
to update the page registers when an Address Pointer
crosses the page boundary. The ‘C’ compiler keeps
track of the addressing, and increments or decrements
the page registers accordingly while accessing
contiguous data memory locations.
TABLE 4-35:
EDS MEMORY ADDRESS WITH DIFFERENT PAGES AND ADDRESSES
Note 1: All write operations to EDS are executed
in a single cycle.
2: Use of Read/Modify/Write operation on
any EDS location under a REPEAT
instruction is not supported. For example,
BCLR, BSW, BTG, RLC f, RLNC f,
RRC f, RRNC f, ADD f, SUB f,
SUBR f, AND f, IOR f, XOR f,
ASR f, ASL f
.
3: Use the DSRPAG register while
performing Read/Modify/Write operation.
DSRPAG 
(Data Space Read Register)
DSWPAG 
(Data Space Write 
Register)
Source/Destination 
Address while 
Indirect Addressing
24-Bit EA 
Pointing to 
EDS 
Comment
x
(1)
x
(1)
0x0000 to 0x1FFF
0x000000 to 
0x001FFF
Near data 
space
(2)
0x2000 to 0x7FFF
0x002000 to 
0x007FFF
0x001
0x001
0x8000 to 0xFFFF
0x008000 to 
0x00FFFE
32 Kbytes on 
each page
0x002
0x002
0x010000 to 
0x017FFE
0x003
0x003
0x018000 to 
0x0187FE
Only 2 Kbytes 
of extended 
SRAM on this 
page
0x004
0x004
0x018800 to 
0x027FFE
EPMP 
memory 
space
(4)






0x1FF
0x1FF
0xFF8000 to 
0xFFFFFE
0x000
0x000
Invalid Address Address error 
trap
(3)
Note 1:
If the source/destination address is below 0x8000, the DSRPAG and DSWPAG registers are not considered.
2:
This data space can also be accessed by Direct Addressing.
3:
When the source/destination address is above 0x8000 and DSRPAG/DSWPAG is ‘0’, an address error 
trap will occur.
4:
EPMP memory space can start from location, 0x008000, in the parts with 24 Kbytes of data memory 
(PIC24FJXXXDA1XX)