beautypg.com

Texas Instruments MSP50C614 User Manual

Page 340

background image

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.