# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 222
- 223
- 224
- 225
- 226
…
- 365
- 366

MPLAB
®
XC16 C Compiler Users Guide
DS50002071C-page 224  2012-2013 Microchip Technology Inc.
auto_psv
A compiler-managed area in program space, designated for program space visibility
window access. Variables in this space can be read (but not written) using ordinary C
statements and are subject to a maximum of 32K total space allocated.
psv
Program space, designated for program space visibility window access. Variables in
PSV space are not managed by the compiler and can not be accessed using ordinary
C statements. They must be explicitly accessed by the programmer, usually using
table-access inline assembly instructions, or using the program space visibility window.
Variables in PSV space can be accessed using a single setting of the PSVPAG register
or by qualifying with __psv__.
eedata - EEDATA capable devices only
Data EEPROM space, a region of 16-bit wide non-volatile memory located at high
addresses in program memory. Variables in eedata space can not be accessed using
ordinary C statements. They must be explicitly accessed by the programmer, usually
using table-access inline assembly instructions, or using the program space visibility
window. The __HAS_EEDATA__ manifest constant is defined for devices that support
EEDATA.
dma - DMA capable devices only
DPSRAM DMA memory. Variables in DMA memory can be accessed using ordinary C
statements and by the DMA peripheral. The __HAS_DMA__ manifest constant is
defined for devices that support DMA. If the device supports DMA but does not have
special DPSRAM available, the linker will not be able to allocate the space and will
output an error.
DD
DD

- 1
- 2
…
- 222
- 223
- 224
- 225
- 226
…
- 365
- 366