32 lines
582 B
Plaintext
32 lines
582 B
Plaintext
PROC Append(CHAR ARRAY text,suffix)
|
|
BYTE POINTER srcPtr,dstPtr
|
|
BYTE len
|
|
|
|
len=suffix(0)
|
|
IF text(0)+len>255 THEN
|
|
len=255-text(0)
|
|
FI
|
|
IF len THEN
|
|
srcPtr=suffix+1
|
|
dstPtr=text+text(0)+1
|
|
MoveBlock(dstPtr,srcPtr,len)
|
|
text(0)==+suffix(0)
|
|
FI
|
|
RETURN
|
|
|
|
PROC Concatenate(CHAR ARRAY text,left,right)
|
|
SCopy(text,left)
|
|
Append(text,right)
|
|
RETURN
|
|
|
|
PROC TestConcatenate(CHAR ARRAY left,right)
|
|
CHAR ARRAY text(256)
|
|
|
|
Concatenate(text,left,right)
|
|
PrintF("""%S""+""%S""=""%S""%E",left,right,text)
|
|
RETURN
|
|
|
|
PROC Main()
|
|
TestConcatenate("Hello", " World!")
|
|
RETURN
|