3.5.6 How Does the Compiler Place Everything in Memory?
In most situations, assembly instructions and directives associated with both code and data are grouped into sections, called psects, which are then positioned into containers that represent the device memory. An introductory explanation into this process is given in 5.15.1 Compiler-Generated Psects. The exception is for absolute variables (see 5.4.4 Absolute Variables), which are placed at a specific address when they are defined and which are not placed in a psect.