Microchip Technology DM240015 Data Sheet

Page of 472
 2012-2013 Microchip Technology Inc.
 
DS30009312B-page 75
PIC24FJ128GC010 FAMILY
4.2.5.1
Data Read from EDS
In order to read the data from the EDS space, first, an
Address Pointer is set up by loading the required EDS
page number into the DSRPAG register and assigning
the offset address to one of the W registers. Once the
above assignment is done, the EDS window is enabled
by setting bit 15 of the working register, assigned with
the offset address; then, the contents of the pointed
EDS location can be read.
 illustrates how the EDS space address is
generated for read operations.
When the Most Significant bit (MSb) of EA is ‘1’ and
DSRPAG<9> = 0, the lower 9 bits of DSRPAG are con-
catenated to the lower 15 bits of the EA to form a 24-bit
EDS space address for read operations.
 shows how to read a byte, word and
double-word from EDS.
FIGURE 4-5:
EDS ADDRESS GENERATION FOR READ OPERATIONS
EXAMPLE 4-1:
EDS READ CODE IN ASSEMBLY
Note:
All read operations from EDS space have
an overhead of one instruction cycle.
Therefore, a minimum of two instruction
cycles is required to complete an EDS
read. EDS reads under the REPEAT
instruction; the first two accesses take
three cycles and the subsequent
accesses take one cycle.
DSRPAG Reg
Select
Wn
9
8
15 Bits
9 Bits
24-Bit EA
Wn<0> is Byte Select
0
 = Extended SRAM and EPMP
1
0
; Set the EDS page from where the data to be read
mov
#0x0002, w0
mov
w0, DSRPAG 
;page 2 is selected for read
mov
#0x0800, w1 
;select the location (0x800) to be read
bset
w1, #15
;set the MSB of the base address, enable EDS mode
;Read a byte from the selected location
mov.b 
[w1++], w2
;read Low byte
mov.b 
[w1++], w3
;read High byte
;Read a word from the selected location
mov [w1], 
w2
;
;Read Double - word from the selected location
mov.d 
[w1], w2
;two word read, stored in w2 and w3