SW500010 Microchip Technology, SW500010 Datasheet - Page 161

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
Linker and Utilities
the root node. If any of these functions call (or might call) other functions, these called functions
are indented and listed below the calling functions. And so the process continues for entire program.
A function’s inclusion into the call graph does not imply the function was called, but there is a
possibility that the function was called. For example, code such as:
will list foo and bar under test, as either may be called. If a is always true, then clearly the
function bar will never be called. If a function does not appear in the call graph, the linker has
determined that the function cannot possibly be called, and that it is not a root function. For code
like:
the function foo will never appear in the call graph.
see Section
the code generator. For the above code, the code generator optimiser will remove the redundant call
to bar before the C source code conversion is performed, as so the FNCALL directive will not be
present in the output file, hence not detectable by the linker. When writing assembler source code,
the FNCALL assembler directive should always be used, particularly if the assembler routines define
local auto-like variables using the FNSIZE directive, see below, and also Section
information.
the size of the function’s auto area, respectively. The parameter size only includes those parameters
which are allocated memory locations, and which are not passed via a register. The auto size does not
include any auto variables which are allocated registers by the code generator’s (global) optimizer
for the entire duration of the function. The auto size does, however, include any values which must
The functions that the root function calls, or may call, are indented one level and listed below
The inclusion of a function into the call graph is controlled by the FNCALL assembler directive,
If printed, the two components to the size are the size of that function’s parameter area, and
int test(int a) {
}
int test(void) {
}
if(a)
else
int a = 0;
if(a)
else
4.3.8.14
foo();
bar();
foo();
bar();
for more information. These directives are placed in the assembler output by
4.3.8.17
Map Files
for more
161

Related parts for SW500010