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.