Datasheet

2010 Microchip Technology Inc. DS70138G-page 29
dsPIC30F3014/4013
FIGURE 3-6: DATA SPACE WINDOW INTO PROGRAM SPACE OPERATION
23 15 0
PSVPAG
(1)
15
15
EA<15> =
0
EA<15> = 1
16
Data
Space
EA
Data Space Program Space
8
15
23
0x0000
0x8000
0xFFFF
0x00
0x000100
0x007FFF
Data Read
Upper Half of Data
Space is Mapped
into Program Space
0x000200
Address
Concatenation
BSET CORCON,#2 ; PSV bit set
MOV #0x00, W0 ; Set PSVPAG register
MOV W0, PSVPAG
MOV 0x8200, W0 ; Access program memory location
; using a data space access
Note: PSVPAG is an 8-bit register, containing bits<22:15> of the program space address (i.e., it defines
the page in program space to which the upper half of data space is being mapped).
The memory map shown here is for a dsPIC30F4013 device.