* * * STRING FILL STATEMENT * SFILL CALL VAR GET STR VAR JNZ BSERR NOT STR!!! PUSH PSW SUBSTRING FLAG IN C PUSH B ADDR OF STR'S LOG LEN WORD PUSH H BASE ADDR OF STRING/SUBSTRING JC SF01 C=1 --> SUBSTR LHLD STRMX IF NOT SUBSTR THEN USE MAX LEN XCHG SF01 PUSH D LEN OF STRING/SUBSTRING * MVI B,',' SYNTAX CALL EATC * LHLD TSTKA GET A STRING EXPRESSION PUSH H CALL SEXPG POP D XCHG SHLD TSTKA * MOV A,D THERE MUST BE AT LEAST ONE ORA E JZ OBERR * MOV B,M VALUE POP D LENGTH POP H BASE ADDR PUSH D SAVE LEN CALL SETM FILL MEMORY (DE MAY BE ZERO) POP D LEN POP H ADDR OF LOG LEN POP PSW SUBSTRING FLAG IN C JNC DSTORE SET NEW LEN IF NOT SUBSTRING (C=0), ALSO RETURN RET RETURN IF C=1 * *