English
Language : 

PIC24FJ64GA705 Datasheet, PDF (55/412 Pages) –
PIC24FJ256GA705 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 which is
assigned with the offset address; then, the contents of
the pointed EDS location can be read.
Figure 4-4 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
concatenated to the lower 15 bits of EA to form a 24-bit
EDS space address for read operations.
Example 4-1 shows how to read a byte, word and
double word from EDS.
Note:
All read operations from EDS space have
an overhead of one instruction cycle.
Therefore, a minimum of two instruction
cycles are 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.
FIGURE 4-4:
EDS ADDRESS GENERATION FOR READ OPERATIONS
Select
1
98
0
DSRPAG Reg
9 Bits
24-Bit EA
0 = Extended SRAM and EPMP
Wn
15 Bits
Wn<0> is Byte Select
EXAMPLE 4-1: EDS READ CODE IN ASSEMBLY
; 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
 2016 Microchip Technology Inc.
DS30010118B-page 55