11.2.2 Program Space Visibility (PSV) Window

The Program Space Visibility window can be used to access data stored in the least significant 16 bits of program memory. When PSV is enabled, the upper 32K of data memory space (0x8000-0xFFFF) functions as a window into program memory. Data is addressed through a 16-bit data register pointer in combination with the 8-bit PSVPAG register. The special operators psvoffset() and psvpage() are provided to facilitate PSV access in assembly language. Built-in functions __builtin_psvoffset() and __builtin_psvpage() are provided to facilitate PSV access in C.

The linker supports PSV window operations through the use of read-only data sections. For a detailed discussion of read-only sections, see 11.7 Read-only Data.