C– – Compiler

/********************************/

/* Prototypes for C– –functions */

/********************************/

cmm_func add_string(int *result,int *str1,int *str2,int lg); cmm_func sub_string(int *result,int *str1,int *str2,int lg); cmm_func mul_string(int *result,int *str1,int mult,int lg1,int lgr);

cmm_func umul_string(int *result,int *str1,unsigned int mult,int lg1,int lgr); cmm_func or_string(int *result,int *str1,int *str2,int lg);

cmm_func and_string(int *result,int *str1,int *str2,int lg); cmm_func xor_string(int *result,int *str1,int *str2,int lg);

cmm_func not_string(int *result,int *str1,int lg);

cmm_func neg_string(int *result,int *str1,int lg);

cmm_func copy_string(int *output,int *input,int lg);

cmm_func rshift_string(int *output,int *input,int rshift,int lg);

#ifdef _CMM

cmm_func strcpy(char *outstring,char *instring); cmm_func strlen(char *instring);

cmm_func calloc(int nitems,int size); cmm_func malloc(int size); cmm_func free(int *ptr);

#endif

cmm_func test_string(int *string1,int *string2,int lg,int oper);

cmm_func xfer_const(int *out,int *cst_addr,int lg);

cmm_func xfer_single(int *out,int *cst_addr);

/********************************/

Note the requirement that C– – function declarations (including main) be preceded by the keyword cmm_func. Also note the conditional assembly portion, used for compatibility with Borland C.

/******************/

/* Macros for C– – */

/******************/

#define STR_LENGTH(i) (i–2)

/******************/

Major Differences between C and C– –

5-20

Page 316
Image 316
Texas Instruments MSP50C6xx manual #define STRLENGTHi Major Differences between C and C