beautypg.com

Texas Instruments MSP50C614 User Manual

Page 346

background image

C– – Compiler

5-46

Table 5–1. String Functions

add_string(int *result,int *str1,int *str2,int lg)

adds strings str1 and str2, of length lg (+2),

and puts the result in string result

sub_string(int *result,int *str1,int *str2,int lg)

subtracts strings str2 from str1, of length lg

(+2), and puts the result in string result.

mul_string(int *result,int *str1,int mult,int lg1,int lgr)

multiplies string str1 of length

lg1 (+2) by integer multiple, and puts the result in string result, of length lgr (+2).

umul_string(int *result,int *str1,int mult,int lg1,int lgr)

same as previous one, with

UNSIGNED multiply

or_string(int *result,int *str1,int *str2,int lg)

ors strings str1 and str2, of length lg (+2), and

puts the result in string result.

and_string(int *result,int *str1,int *str2,int lg)

ands strings str1 and str2, of length lg (+2),

and puts the result in string result.

xor_string(int *result,int *str1,int *str2,int lg)

exclusive ors strings str1 and str2, of length

lg (+2), and puts the result in string result.

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

takes the 1’s complement of string str1, of length lg (+2),

and puts the result in strings result.

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

takes the 2’s complement of string str1, of length lg (+2),

and puts the result in strings result.

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

performs a logical test (operation) on

strings string1 and string2 of length lg (+2). The logical value is returned in A0. If string2 is NULL, the logical test is
performed between string string1 and a zero string.

operator can take the following values: (predefined constants)
EQS_N == ?
NES_N !== ?
LTS_N < ?
LES_N <= ?
GES_N >= ?
GTS_N > ?
ULTS_N < ? (unsigned)
ULES_N <= ? (unsigned)
UGES_N >= ? (unsigned)
UGTS_N > ? (unsigned)

A major feature of the MSP50P614/MSP50C614 is that the string length
present in the string register is the actual length of the string minus two. To
avoid confusion, a macro is supplied that automatically translates the real
length of the string to the MSP50P614/MSP50C614 length of the string. It is
included in the

cmm_macr.h

file, and is called STR_LENGTH(lstr). For

example, STR_LENGTH(8) is 8–2 = 6.