C– – Compiler

5.5.9String Functions

Arithmetic string functions are special functions that perform string arithmetic. The functions currently implemented are shown in Table 5–1.

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 MSP50C6xx 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

5-22

Page 318
Image 318
Texas Instruments MSP50C6xx manual String Functions, Operator can take the following values predefined constants