You should make it a function instead of using GOSUB
EDIT:
ACLS INPUT$="HI HOW ARE YOU" PRINT "THE INPUT WAS "+INPUT$ PRINT "SPLITTING INPUT" DIM LIST$[0] LIST$=SPLIT$(INPUT$) PRINT "------RESULTS------" FOR T=0 TO LEN(LIST$)-1 PRINT LIST$[T] NEXT T DEF SPLIT$(INPUT$) VAR L=LEN(INPUT$) VAR INDEX=0 VAR LASTFROM=0 VAR CURRENTFROM=0 VAR FOUND=-1 'TO CONFIRM LATER VAR T VAR C$ FOR T=0 TO L-1 GETCHAR INPUT$, T OUT C$ IF C$==" " THEN FOUND=FOUND+1 CURRENTFROM=T '----ACCOUNT FOR THE SPACE CHARACTER '----BUT ONLY IF THIS ISNT THE FIRST PASS IF FOUND>0 THEN PUSH LIST$,MID$(INPUT$, LASTFROM+1, T-LASTFROM) ENDIF '--ON THE FIRST SPACE FOUND THERE WONT '--BE A SPACE CHARACTER TO CUT OFF ON THE LEFT IF FOUND==0 THEN PUSH LIST$[FOUND],MID$(INPUT$, LASTFROM, T-LASTFROM) ENDIF LASTFROM=CURRENTFROM 'THIS IS IMPORTANT BECAUSE NOW THE LAST FOUND SPACE IS THIS CURRENT ONE ENDIF NEXT T 'GET THE VERY LAST WORD IN THE STRING FOUND=FOUND+1 CURRENTFROM=L LAST$=MID$(INPUT$, LASTFROM+1, CURRENTFROM-LASTFROM) PUSH LIST$,LAST$ END DEF GETCHAR INPUT$, INDEX OUT C$ C$=MID$(INPUT$, INDEX, 1) END