Common Questions & Answers
Why does the .LST file look out of order?
The list file is produced to show the assembly code created for the C source code. Each C
source line has the corresponding assembly lines under it to show the compiler ’ s work. The
following three special cases make the .LST file look strange to the first time viewer.
Understanding how the compiler is working in these special cases will make the .LST file appear
quite normal and very useful.
1. Stray code near the top of the program is sometimes under what looks like a non-executable
source line.
Some of the code generated by the compiler does not correspond to any particular source
line. The compiler will put this code either near the top of the program or sometimes under a
#USE that caused subroutines to be generated.
2. The addresses are out of order.
The compiler will create the .LST file in the order of the C source code. The linker has re-
arranged the code to properly fit the functions into the best code pages and the best half of a
code page. The resulting code is not in source order. Whenever the compiler has a discontinuity
in the .LST file, it will put a * line in the file. This is most often seen between functions and in
places where INLINE functions are called. In the case of an INLINE function, the addresses will
continue in order up where the source for the INLINE function is located.
3. The compiler has gone insane and generated the same instruction over and over.
For example:
...........A=0;
03F:
*
46:CLRF
*
051:
*
113:
CLRF
15
CLRF
CLRF
15
15
15
This effect is seen when the function is an INLINE function and is called from more than one
place. In the above case, the A=0 line is in an INLINE function called in four places. Each place
it is called from gets a new copy of the code. Each instance of the code is shown along with the
original source line, and the result may look unusual until the addresses and the * are noticed.
Why does the compiler show less RAM than there really is?
Some devices make part of the RAM much more ineffective to access than the standard RAM.
In particular, the 509, 57, 66, 67,76 and 77 devices have this problem.
By default, the compiler will not automatically allocate variables to the problem RAM and,
therefore, the RAM available will show a number smaller than expected.
339
相关PDF资料
PCI-EXP-T42G5-N1 IP CORE PCI EXPRESS ORCA 4
PCM18XH2 PROCESSOR MODULE MPLAB-ICE 2000
PCM18XN0 PROCESSOR MODULE FOR ICE2000
PDA-B-24-615-E-2B1-1-C CIRCUIT BREAKER MAG 1P 15A
PFMF.260.2 PFMF PTC FUSE SMT 2.6A 1812
PFNF.200.2 PFNF PTC FUSE SMT 2A 1206
PFRY.375 PTC-FUSE RADIAL 72 VDC
PFSM.150.33.2 FUSE PTC 8A 15V FST-TRIP SMD
相关代理商/技术参数
PCD_09 制造商:MACOM 制造商全称:Tyco Electronics 功能描述:Low Profile PCB Relay PCD
PCD-00173-0C 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY
PCD-00173-0E 制造商:Molex 功能描述:Ethernet Cable Assembly
PCD-00173-0H 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY
PCD-00173-0K 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY
PCD-00174-0C 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY; Cable Length - Imperial:3ft; Cable Length - Metric:914.4mm; Connector Type A:RJ45 Plug; Connector Type B:RJ45 Plug; Jacket Color:Red; Approval Bodies:CSA / UL; Body Material:PVC; Cable Assembly Type:Ethernet ;RoHS Compliant: NA
PCD-00174-0E 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY; Cable Length - Imperial:3ft; Cable Length - Metric:914.4mm; Connector Type A:RJ45 Plug; Connector Type B:RJ45 Plug; Jacket Color:Grey; Approval Bodies:CSA / UL; Body Material:PVC; Cable Assembly Type:Ethernet;RoHS Compliant: NA
PCD-00174-0H 制造商:Molex 功能描述:ETHERNET CABLE ASSEMBLY