6.1.9.40.18 Space Flag

The space psect flag is used to differentiate areas of memory that have overlapping addresses, but are distinct. Psects that are positioned in program memory and data memory have a different space value to indicate that the program space address 0, for example, is a different location to the data memory address 0.

The memory spaces associated with the space flag numbers are shown in Table 6-12.

Table 6-12. Space Flag Numbers
Space Flag NumberMemory Space
0Program memory, and EEPROM for PIC18 devices
1Data memory
2Reserved
3EEPROM on Mid-range devices
4Configuration bit
5IDLOC
6Note

Devices that have a banked data space do not use different space values to identify each bank. A full address that includes the bank number is used for objects in this space. So, each location can be uniquely identified. For example, a device with a bank size of 0x80 bytes will use address 0 to 0x7F to represent objects in bank 0, and then addresses 0x80 to 0xFF to represent objects in bank 1, etc.