* * * INTERPRETER DRIVER * IF SOLOS XSYT5 EQU $ ENDF * ILOOP CALL SYSTS CHECK FOR CHARACTER INPUT CNZ PCHK1 IF ONE WAS CALL ISTAT INTERPRET STATEMENT IL1 CALL JOE TEST FOR JUNK ON END AND MOVE TO NEXT STATEMENT JNC ILOOP CONTINUE IF NOT AT END OF PROGRAM JMP END EXECUTE END STATEMENT * * * INTERPRET STATEMENT LOCATED BY TXA * ISTAT XRA A STA UNDEF THERE IS NOTHING TO UNDIFINE (YET) * ISTA0 LHLD TXA GET NEXT RW MOV A,M SUI TOKSW CHECK THAT IT IS NOT A 'SECOND WORD' TOKEN JC BSERR ALSO CATCHES NON-RW'S CPI TOKST-TOKSW JNC BSERR CHECK THAT IT IS A STATEMENT * ISTA1 INX H ADVANCE TEXT POINTER PAST RW SHLD TXA * RLC . MULTIPLY BY TWO PREPARING FOR TABLE LOOKUP LXI D,DISPT DISPATCH TABLE ADDRESS MOV L,A MVI H,0 DAD D MOV A,M INX H MOV H,M MOV L,A * PCHL . BRANCH TO STATEMENT OR COMMAND * *