SW500009 Microchip Technology, SW500009 Datasheet - Page 112

HI-TECH FOR DSPIC/PIC24

SW500009

Manufacturer Part Number
SW500009
Description
HI-TECH FOR DSPIC/PIC24
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC24 & DsPICr
Datasheet

Specifications of SW500009

Supported Families
PIC24
Core Architecture
PIC, DsPIC
Software Edition
Standard
Kit Contents
Software And Docs
Tool Type
Compiler
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Lead Free Status / RoHS Status
Not applicable / RoHS Compliant
For Use With/related Products
DSPIC3X/PIC24
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
025
778-1003
778-1003
HI-TECH C Assembly Language
where psect is the psect containing the call graph, auto is the prefix on all auto variable symbol names
and args is the prefix on all function argument symbol names. This directive normally appears in
only one place: the runtime startup code used by C compiler generated code. For the HI-TECH
PICC Compiler the startup routine will include the directive:
telling the linker that the call graph is in the rbss psect, auto variable blocks start with ?a and function
argument blocks start with ?.
4.3.8.15 FNINDIR
This directive tells the linker that a function performs an indirect call to another function with a
particular signature (see the SIGNAT directive). The linker must assume worst case that the function
could call any other function which has the same signature and has had its address taken (see the
FNADDR directive). For example, if a function called fred() performs an indirect call to a function
with signature 8249, the compiler will produce the directive:
4.3.8.16 FNSIZE
The FNSIZE directive informs the linker of the size of the local variable and argument area associ-
ated with a function. These values are used by the linker when building the call graph and assigning
addresses to the variable and argument areas. This directive takes the form:
The named function has a local variable area and argument area as specified, for example
means the function fred() has 10 bytes of local variables and 5 bytes of arguments. The function
name arguments to any of the call graph associated directives may be local or global. Local functions
are of course defined in the current module, but most be used in the call graph construction in the
same manner as global names.
4.3.8.17 FNROOT
This directive tells the assembler that a function is a root function and thus forms the root of a call
graph. It could either be the C main() function or an interrupt function. For example, the C main
module produce the directive:
98
FNCONF rbss,?a,?
FNINDIR _fred,8249
FNSIZE func,local,args
FNSIZE _fred, 10, 5
FNROOT _main
Macro Assembler

Related parts for SW500009