Texas Instruments MSP50C614 User Manual
Page 340
C– – Compiler
5-40
short ram_size;
/* ram size for the chip */
short verbose;
/* refers to assembly code output */
short c_code;
/* if non zero, c code is included as */
/* assembly language comments */
short optimize;
/* should always be non zero */
char dir_list;
/* string of include directories searched */
/* for C– – include directive */
char directory[MAX_LEN];
/* name of data directory, i.e directory */
/* where tools where installed */
};
struct error_struct error_list[MAX_ERRORS];
/* ... */
i=CMM_MAIN (source_file,&w,&input,error_list);
Where:
-
source
file is the source file name.
-
w
is the number of warnings generated by the compiler.
-
input
is a structure that is used to pass some parameters to the compiler.
-
error_list
contains the errors generated by the compiler upon return (similar as the one
used in the assembler).
The C– – compiler generates an assembly language file of the same name,
with extension
.opt
. It also generates a file with extension
.glb
where global
variable initialization is taken care of, if the routine
main was encountered in
the current file. A file with extension
.ext
is also generated to take care of
global and external declarations that will be used by the assembler. These two
files are included in the
.opt
file generated by the C– – compiler. Note that
all symbols defined in C– – source code are changed before being written to
assembly language: an underscore character is put in front of the first
character of each symbol. Also note that local labels created by the C– –
compiler are built using the current source file name followed by an ordinal
number. Consequently, to avoid problems at link time due to symbols bearing
the same name, it is a good idea to never use symbol names starting with an
underscore in assembly language files, and it is
imperative to use file names
that are different for C– – files (extension
.cmm
) and assembly language files
(extension
.asm
).
5.9.1
Foreword
C– – is a
high level language to be used with the MSP50P614/MSP50C614
microprocessor, and its spin offs. Although it looks a lot like C, it has some
limitations/restrictions which will be highlighted throughout this document.
This language is compiled into MSP50P614/MSP50C614 assembly
language.