SW500010 Microchip Technology, SW500010 Datasheet - Page 144

HI-TECH C PRO FOR PIC10/12/16

SW500010

Manufacturer Part Number
SW500010
Description
HI-TECH C PRO FOR PIC10/12/16
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC10/12/16r
Datasheets

Specifications of SW500010

Supported Families
PIC10, PIC12, PIC16
Core Architecture
PIC
Software Edition
Professional
Kit Contents
Software And Docs
Mcu Supported Families
PIC10/12/16
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC10, PIC12, PIC14, PIC16, PIC16E
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
019P
778-1006
778-1006
Program Sections
relocation by the ultimate value of a global symbol, or relocation by psect, i.e. relocation by the
base address of a particular section of code, for example the section of code containing the actual
executable instructions.
5.3 Program Sections
Any object file may contain bytes to be stored in memory in one or more program sections, which
will be referred to as psects. These psects represent logical groupings of certain types of code bytes in
the program. In general the compiler will produce code in three basic types of psects, although there
will be several different types of each. The three basic kinds are text psects, containing executable
code, data psects, containing initialised data, and bss psects, containing uninitialised but reserved
data.
variables; one is initialised to the value 1, and the other is not initialised. The first will be placed into
the data psect, and the second in the bss psect. The bss psect is always cleared to zeros on startup of
the program, thus the second variable will be initialised at run time to zero. The first will however
occupy space in the program file, and will maintain its initialised value of 1 at startup. It is quite
possible to modify the value of a variable in the data psect during execution, however it is better
practice not to do so, since this leads to more consistent use of variables, and allows for restartable
and ROMable programs.
machine-specific chapter.
5.4 Local Psects
Most psects are global, i.e. they are referred to by the same name in all modules, and any reference
in any module to a global psect will refer to the same psect as any other reference. Some psects
are local, which means that they are local to only one module, and will be considered as separate
from any other psect even of the same name in another module. Local psects can only be referred
to at link time by a class name, which is a name associated with one or more psects via the PSECT
directive class= in assembler code. See Section
5.5 Global Symbols
The linker handles only symbols which have been declared as GLOBAL to the assembler. The code
generator generates these assembler directives whenever it encounters global C objects. At the C
source level, this means all names which have storage class external and which are not declared
144
The difference between the data and bss psects may be illustrated by considering two external
For more information on the particular psects used in a specific compiler, refer to the appropriate
4.3.8.3
for more information on PSECT options.
Linker and Utilities

Related parts for SW500010