Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 사용자 설명서
제품 코드
SW006021-1
MPLAB
®
XC8 C Compiler User’s Guide
DS52053B-page 270
2012 Microchip Technology Inc.
6.6.2
Psect Information
The assembly list file can be used to determine the name of the psect in which a data
object or section of code has been placed by the compiler. For labels (symbols), check
the symbol table at the end of the file. It indicates the name of the psect in which it
resides, as well as the address associated with the symbol.
object or section of code has been placed by the compiler. For labels (symbols), check
the symbol table at the end of the file. It indicates the name of the psect in which it
resides, as well as the address associated with the symbol.
For other code, find the code in the list file. You can usually search for the C statement
associated with the code. Look for the first PSECT assembler directive above this code.
This name associate with this directive is the psect in which the code is placed, see
Section 6.4.9.3 “PSECT”.
associated with the code. Look for the first PSECT assembler directive above this code.
This name associate with this directive is the psect in which the code is placed, see
Section 6.4.9.3 “PSECT”.
6.6.3
Function Information
For each C function, printed before the function’s assembly label (search for the func-
tion’s name immediately followed by a colon, :), is general information relating to the
resources used by that function. A typical print out is shown in Figure 6-2: “Function
Information”. Most of the information is self explanatory, but special comments follow.
tion’s name immediately followed by a colon, :), is general information relating to the
resources used by that function. A typical print out is shown in Figure 6-2: “Function
Information”. Most of the information is self explanatory, but special comments follow.
The locations shown use the format offset[space]. For example, a location of
42[BANK0]
42[BANK0]
means that the variables was located in the bank 0 memory space and
that it appears at an offset of 42 bytes into the compiled stack component in this space,
see Section 5.5.2.2.1 “Compiled Stack Operation”.
see Section 5.5.2.2.1 “Compiled Stack Operation”.
Whenever pointer variables are shown, these are often accompanied by the targets the
pointer can reference after the arrow ->, see Section 6.6.5 “Pointer Reference
Graph”. The auto and parameter section of this information is especially useful as the
size of pointers is dynamic, see Section 5.4.5 “Pointer Types”. This information
shows the actual number of bytes assigned to each pointer variable.
pointer can reference after the arrow ->, see Section 6.6.5 “Pointer Reference
Graph”. The auto and parameter section of this information is especially useful as the
size of pointers is dynamic, see Section 5.4.5 “Pointer Types”. This information
shows the actual number of bytes assigned to each pointer variable.
The tracked objects is generally not used. It indicates the known state of the currently
selected RAM bank on entry to the function and at its exit points. It also indicates the
bank selection bits that did, or did not, change in the function.
selected RAM bank on entry to the function and at its exit points. It also indicates the
bank selection bits that did, or did not, change in the function.
The hardware stack information shows how many stack levels were taken up by this
function alone and the total levels used by this function and any functions it calls.
function alone and the total levels used by this function and any functions it calls.
Functions which use a non-reentrant model are those which allocate auto and
parameter variables to a compiled stack and which are, hence, not reentrant.
parameter variables to a compiled stack and which are, hence, not reentrant.