SW500010 Microchip Technology, SW500010 Datasheet - Page 162

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
Map Files
be stored temporarily in the functions scratch area. Variables which are passed via a register may
need to be saved into the function’s temporary variable if that register is required for code generation
purposes, in which case they do not contribute to the function’s parameter size, but increase the size
of the auto area.
allocated an address within the program’s auto/parameter psect. The offset value indicates the offset
within the psect for that block. Thus, two APBs with the same offset are mapped over one another.
by the function represented by that line does not fully overlap with that of other functions, and thus
this functions APB directly influences the size of the auto/parameter psect, and hence the total RAM
usage of the program. Such functions are said to be on the critical path. If the RAM usage of a
program needs to be reduced and the number or size of the parameters or auto variables defined by
the starred functions can be reduced, the program’s RAM usage will also be reduced. Reducing the
number or size of the parameters or auto variables defined by the functions that are not starred will
have no effect on the program’s total RAM usage.
that could be called via the function pointer. Functions called indirectly are listed in the call graph
along with those functions which are directly called.
involves other function calls to determine the parameter values for this function. For example, if
input and output are both functions that take two int parameters and and both return an int,
the following:
shows that the function input is called to determine the second parameter to the function output.
any functions this function calls appear here, indented in the usual way. Under this is listed every
function (regardless of its depth in the call tree) that could be called to determine a parameter value
to the ARG function throughout the program. If any of these functions call other functions, they
also list called functions below, indented in the usual way. For example the following annotated call
graph snippet illustrates the ARG function one.
162
The total parameter and auto area for each function is grouped to form an APB. This is then
If a star, * , appears on the very left line of a call tree, this implies that the memory consumed
PRO compilers track the values assigned to function pointers and maintains a list of all functions
If the ARG flag appears after a function’s name, this implies that the call to this “ARG function”
The ARG function’s name is listed again under the line which actually shows the ARG flag, and
result = output(out_selector, input(in_selector, 10));
_one ARG size 0 offset 21
_one size 0 offset 21
_prep1 size 1,1 offset 45
_get
_prep2 size 1,1 offset 47
_two size 2,2 offset 21
size 0,0 offset 47
; _one is the ARG function
; ** here is _one’s call tree:
; ** _one may call _two
; # _prep1, _get & _prep2 may
; # ultimately be called to
; # obtain parameters for _one
Linker and Utilities

Related parts for SW500010