HED ** LIST THE PROGRAM** * *** LIST THE PROGRAM * LIST LDB PBUFF INITIALIZE TO FIRST STB TEMPS STATEMENT OF PROGRAM JSB GETCR SEQUENCE NUMBER GIVEN? JMP LIST0 LDB .BUFA SET FOR STB SBPTR SEQUENCE NUMBER JSB INCHK,I YES, DEF MAXSN FETCH IT LDA .BUFA,I LOAD SEQUENCE NUMBER JSB FNDPS FIND INITIAL STATEMENT JMP RDYDA,I NOP SAVE STB TEMPS ADDRESS LIST0 CLB CPB STK18 CHECK PUNCH LAG JMP LIST1 NO LDA B133 YES, EMIT JSB WRITE,I LIST1 LDB TEMPS MORE CPB PBPTR PROGRAM? JMP LIS13 NO CCA INITIALIZE ADA SBUFA OUTPUT BUFFER STA BADDR POINTER CLA INITIALIZE STA CCNT CHARACTER COUNT LDA TEMPS,I OUTPUT JSB OUTIN SEQUENCE NUMBER LDA BLANK OUTPUT JSB OUTCR BLANK ISZ TEMPS FETCH LDA TEMPS,I STATEMENT LENGTH CMA,INA SET INA WORD STA STK5 LIST3 ISZ TEMPS MORE ISZ STK5 JMP LIST4 YES LIST2 LDB SBUFA OUTPUT LDA CCNT JSB WRITE,I JMP LIST1 LIST4 LDA TEMPS,I AND OPMSK SZA,RSS NULL OPERATOR? JMP LIST5 YES STA TEMP2 NO, SAVE OPERATOR ALF,ALF SINGLE ARS LDB 0 ADA M21 OPERATOR? SSA,RSS JMP LIS12 NO BLS INB ADB FOPBS LDA 1,I SYMBOL ALF,ALF ADJUST AND MSK0 CHARACTER CPA .34 QUOTE MARK? JMP LIS14 JSB OUTCR NO LIST5 LDA TEMPS,I AND OPDMK SAVE STA TEMP3 OPERAND AND TYPFL EXTRACT OPERAND TYPE STA LFLAG SET LFLAG FALSE SSA FLAG BIT SET? JMP LIST9 YES SZA,RSS NO, NULL OPERAND? JMP LIST3 YES CPA .15 FUNCTION? JMP LIST8 YES LIST6 ADA M5 SSA LETTER-DIGIT COMBINATION? JMP LIST7 NO CCA YES, SET STA LFLAG LFLAG FALSE LIST7 LDA TEMP3 ALF,ALF RESTORE AND ALF AND B177 OUTPUT ADA B100 JSB OUTCR LETTER ISZ LFLAG DIGIT FOLLOWS? JMP LIST3 NO LDA TEMP3 YES AND .15 RESTORE ADA .43 DIGIT JSB OUTCR OUTPUT DIGIT JMP LIST3 LIST8 LDA F OUTPUT JSB OUTCR 'F' LDA N OUTPUT JSB OUTCR 'N' JMP LIST7 LIST9 XOR FLGBT CLE,SZA NUMBER? JMP LIS10 NO ISZ TEMPS YES, STA SIGN SET SIGN FLAG FALSE LDA TEMPS,I ISZ TEMPS OUTPUT LDB TEMPS,I ISZ STK5 ISZ STK5 SSA NEGATIVE NUMBER? CCE YES, SET SIGN FLAG TRUE JSB NUMOA,I NOP JMP LIST3 LIS10 CPA .3 INTEGER? JMP LIS11 YES CPA .15 NO, FUNCTION? RSS YES JMP LIST6 NO, MUST BE A PARAMETER LDA TEMP3 COMPUTE ALF,RAL PRINT AND OPMSK TABLE STA TEMP2 CODE LDB ATAB JSB MCOUT OUTPUT FUNCTION NAME JMP LIST3 LIS11 ISZ TEMPS OUTPUT ISZ STK5 LDA TEMPS,I INTEGER JSB OUTIN JMP LIST3 OPERAND LIS12 LDA BLANK OUTPUT JSB OUTCR BLANK LDB STTYP JSB MCOUT OUTPUT LDA REMOP CPA TEMP2 A REM? JMP OUTS1 YES, OUTPUT REMARK LDA BLANK NO, OUTPUT JMP LIST5-1 LIS13 CLB HIGH-SPEED CPB STK18 PUNCH? JMP RDYDA,I LDA B133 YES, EMIT JSB WRITE,I JMP RDYDA,I LIS14 JSB OUTCR JSB OUTST LDA .34 JMP LIST5-1 OUTIN NOP INTEGER IN (A) LDB M4 SET STB DIGCT DIGIT COUNTER LDB LDVSR SET DIVISOR STB DIVSR ADDRESS CLB SET LEADING STB LDZRO ZERO FLAG OUT11 LDB DIVSR,I NEGATE CMB,INB AND STORE STB MIND DIVISOR CCB SET QUOTIENT INB TO ZERO ADA MIND SUBTRACT DIVISOR FROM INTEGER SSA,RSS NEGATIVE RESULT? JMP *-3 NO, INCREMENT QUOTIENT ADA DIVSR,I YES, RECOVER REMAINDER STA MCOUT AND SAVE IT LDA 1 SZA JMP OUT12 CPA LDZRO JMP OUT13 OUT12 ADA .48 NO, COMPUTE ASCII FOR DIGIT STA LDZRO SET 'ZEROES SIGNIFICANT' JSB OUTCR OUTPUT DIGIT OUT13 LDA MCOUT RETRIEVE REMAINDER ISZ DIVSR SET FOR NEXT DIVISOR ISZ DIGCT DIVISION NECESSARY? JMP OUT11 YES ADA .48 NO, COMPUTE ASCII FOR LAST JSB OUTCR DIGIT AND OUT PUT IT JMP OUTIN,I OUTST NOP " ENTRY POINT LDA OUTST SAVE OUTST STA STK7 OUTS1 LDA TEMPS,I AND B177 SZA JSB OUTCR ISZ TEMPS ISZ STK5 RSS JMP LIST2 LDA TEMPS,I ALF,ALF YES, POSITION IT AND B177 EXTRACT CHARACTER CPA .2 JMP STK7,I CPA .3 JMP STK7,I JSB OUTCR NO, OUTPUT CHARACTER JMP OUTS1 MCOUT NOP MCOU1 LDA 1,I LOAD INFORMATION WORD AND OPMSK COMPARE WITH CPA TEMP2 OPERATOR CODE JMP MCOU2 EQUAL LDA 1,I UNEQUAL, AND .7 COMPUTE ADA .3 ENTRY ARS LENGTH ADB 0 COMPUTE ADDRESS OF NEXT ENTRY JMP MCOU1 MCOU2 LDA 1,I COMPUTE AND .7 ENTRY CMA,INA LENGTH STA STK8 CLE,INB SET FOR FIRST CHARACTER STB TEMP3 SAVE SYMBOL ADDRESS MCOU3 LDA TEMP3,I LOAD WORD SEZ,RSS FIRST CHARACTER? ALF,ALF YES, POSITION IT AND B177 EXTRACT CHARACTER JSB OUTCR OUTPUT IT SEZ,CME SET FOR NEXT CHARACTER ISZ TEMP3 MOVE TO NEXT WORD OF SYMBOL ISZ STK8 JMP MCOU3 YES JMP MCOUT,I LDVSR DEF *+1 DEC 10000 DEC 1000 DEC 100 DEC 10 SFLAG EQU ARRYS TABLE EQU PRGIN LNGTH EQU TEMPS+8 SMEND EQU INTCK SLENG EQU OVCHK TBLPT EQU FNDPS TSPTR EQU CLPRG INTGR EQU OVCHK HED *** EXECUTE "RENUMBER" SYSTEM COMMAND *** * *** EXECUTE "RENUMBER" SYSTEMS COMMAND * RENUM BSS 0 ENTRY POINT OF RENUMBER * LDA !INS1 SET UP STA &IN1 FOR LDA !INS2 PASS 1 STA &IN2 AND LDA !INS3 PASS 2 STA &IN3 LDB .10 STB LNUM SET LINE NUMBER TO 10 LDB PBUFF SET ADDR TO FIRST WORD STB ADDR ADDRESS OF USER'S PROGRAM JMP FASTM FETCH A STATEMENT * *** SET UP CALL FOR NEXT STATEMENT * NXSTM LDB ADDR PUT ADDRESS IN B-REG ADB LNGT1 UPDATE BY PROG STMT LENGTH STB ADDR RESET VALUE OF PROGRAM ADDRESS LDA LNUM * UPDATE ADA .10 * LINE STA LNUM * NUMBER * * *** FETCH A STATEMENT ( OUTER LOOP ) * FASTM CPB PBPTR END OF PROGRAM? JMP PASS3 YES - GO TO PASS 3 PROCESSOR LDA B,I LOAD LINE # AND STORE STA LNUM. FOR REFERENCE IN OUTER LOOP INB INDEX (B) TO LENGTH ADR LDA B,I LOAD STORE LENGTH STA LNGT1 SAVE LENGTH * *** CHECK LINE NUMBER * LDA LNUM LOAD X10 LINE NUMBER CPA LNUM. DOES IT MATCH? JMP NXSTM YES - GO TO NEXT STATEMENT STA ADDR,I SET NEW LINE # IN STATEMENT * *** CHECK IF REFERENCED BY OTHER STATEMENT (INNER LOOP) * LDB PBUFF LOAD PROGRAM START ADDRESS LOOP2 CPB PBPTR DONE? &IN1 JMP NXSTM YES - RETURN TO OUTER LOOP INB INDEX TO STORE LENGTH STB LNGT2 SAVE FOR INDEXING INB INDEX TO OPERATIONS ADDRESS LDA B,I LOAD OPERATION TYPE AND OPMSK MASK TO OPERATIONS FIELD ALF,ALF POSITION OPERATION CODE RAR CPA N37 "GOTO" STATEMENT ? JMP PRCS YES - PROCESS IT CPA N40 "IF-THEN" STATEMENT ? JMP PRCS YES - PROCESS IT CPA N43 "GOSUB" STATEMENT ? JMP PRCS YES - PROCESS IT * *** DOES NOT REFERENCE OUTER INSTRUCTION * EXIT CCB SET B = -1 ADB LNGT2 SET NEXT STATEMENT START ADR ADB LNGT2,I INDEX BY STATEMENT LENGTH JMP LOOP2 CHECK NEXT STATEMENT * *** PROCESS "GOTO" "GOSUB" "IF-THEN" STATEMENTS * PRCS LDB M2 SET B = -2 ADB LNGT2 INDEX BY CURRENT "AT" ADDRESS ADB LNGT2,I INDEX BY STATEMENT LENGTH LDA B,I LOAD INSTRUCTION DESTINATION &IN2 CPA LNUM. SAME AS CURRENT STATEMENT? RSS YES - UPDATE DESTINATION JMP EXIT NO - TRY NEXT STATEMENT * &IN3 LDA LNUM * SET CMA,INA * NEW STA B,I * DESTINATION JMP EXIT * ADDRESS PASS3 LDA !INS4 STA &IN1 SET UP LDA !INS5 FOR STA &IN2 PASS 3 CLA STA &IN3 JMP LOOP2-1 * !INS1 JMP NXSTM !INS2 CPA LNUM. !INS3 LDA LNUM !INS4 JMP RDYDA,I !INS5 SSA LNUM EQU TEMPS+1 LNUM. EQU TEMPS+2 LNGT1 EQU TEMPS+3 LNGT2 EQU TEMPS+4 ADDR EQU TEMPS+5 N60 EQU .48 N37 EQU .31 N40 EQU .32 N43 EQU .35 HED PRE-EXECUTION PROCESSING * * *********************** * PHASE 2 OF THE COMPILER * *********************** * * THIS PHASE HAS THE FOLLOWING 3 FUNCTIONS: * 1. SYMBOL TABLE CONSTRUCTION * 2. FOR LOOP CHECKING * 3. ARRAY STORAGE ALLOCATION * MFASE LDA PBPTR CPA PBUFF JMP RDYDA,I STA FCORE LDA FWAM STA COML INITIALIZE COMMON POINTER LDA SYMTA STA SYMTF INITIALIZE SYMBOL TABLE POINTER LDA PBUFF STA MPTR INITIALIZE PROGRAM POINTER MLOP1 LDB MPTR,I STB .LNUM SET LINE NUMBER LDB MPTR ISZ MPTR ADB MPTR,I COMPUTE LOCATION OF NEXT STB MNPTR STATEMENT AND STORE THIS ISZ MPTR LDA MPTR,I FETCH THE FIRST WORD IN THE MLO10 ARS ALF,ALF PART TO DETERMINE THE TYPE OF AND .63 STATEMENT AND STORE STA TYPE CPA .46 JMP MLO12 CPA .30 IS THIS A REM STATEMENT STB MPTR CPA .43 IS THIS A PRINT STMT STB MPTR CCA STA MWDNO JMP MLOP2+1 MLO12 LDA MPTR INA LDA 0,I FETCH THE SECOND WORD IN THE STMT JMP MLO10 MLO13 AND MSK1 LDB MPTR SZA,RSS ADB .2 CPA .3 INB STB MPTR MLOP2 ISZ MPTR INCREMENT PROGRAM POINTER LDA MPTR CPA MNPTR HAS THE CURRENT STATEMENT JMP MLOP5 LDA MPTR,I SSA JMP MLO13 AND MSK1 SZA,RSS JMP MLOP2 STA MBOX1 AND .15 CPA .15 JMP MLOP6 ADA M4 SSA JMP MLOP7 LDA MBOX1 JSB SSYMA,I SSB,RSS JMP MLOP3 LDA MNEG LDB MNEG+1 STA MBOX1+1 STB MBOX1+2 LDA M3 JSB ESYMT MLOP3 LDB TYPE LDA MBOX1 CPB .34 JMP MLOP4 CPB .33 ISZ MWDNO JMP MLOP2 ISZ FCORE LDB FCORE CPB SYMTF JMP MER8-1 STA FCORE,I JMP MLOP2 MLOP4 LDB FCORE CPB PBPTR JSB ERROR IF NOT END ISSUE DIAGNOSTIC MER3 CPA FCORE,I RSS AS THE LAST FOR VARIABLE IN THE JMP MER3-1 FOR TABLE. NO, ERROR ADB M1 YES, DELETE LAST ENTRY FROM STB FCORE JMP MLOP2 THE POINTER AND GO TO PROCESS MLOP5 CPA PBPTR RSS JMP MLOP1 LDA TYPE CPA .37 JMP M1LOP JSB ERROR MLOP6 LDA MPTR,I AND OPMSK CPA DEFOP RSS JMP MLOP2 NO GO TO PROCESS NEXT WORD LDA MBOX1 SEARCH SYMBOL TABLE FOR JSB SSYMA,I SSB,RSS JSB ERROR FOUND. ERROR MULTIPLY DEFINED MER4 LDA MPTR ADA .3 ENTER THE FUNCTION INTO THE STA MBOX1+1 SYMBOL TABLE TOGETHER WITH LDA M2 ITS ENTRY POINT IN THE SOURCE JSB ESYMT CODE JMP MLOP2 GO TO PROCESS THE NEXT WORD MLOP7 STA 1 LDA TYPE CPA .27 JMP MLOP8 GO TO MLOP8 CPA .28 JMP MLOP8 JSB MSYMT LOOK UP IN SYMBOL TABLE JMP MLOP2 FOUND, GO TO PROCESS NEXT WORD CLA STA MBOX1+1 ENTER THE VARIABLE INTO THE STA MBOX1+2 SYMBOL TABLE WITH ITS STORAGE STA MBOX1+3 ALLOCATION, FORMAL AND ACTUAL JMP MLOP0 MLOP8 ISZ MPTR PROCESS COM OR DIM STMT ISZ MPTR LDA MPTR,I PICK UP FIRST DIMENSION ALF,ALF SHIFT M. S. PART OF WORD CPB M3 IS THIS A SINGLE DIMENSION ARRAY JMP *+5 YES, JUMP ISZ MPTR OF SECOND DIMENSION AND PACK ISZ MPTR NO, INDEX POINTER TO THE LOC, IOR MPTR,I RSS IOR .1 STA MBOX1+2 SET UP TO STORE PACKED STA MBOX1+3 DIMENSIONS IN FORMAL AND ACTUAL CLA SLOTS AND UNDEFINED FLAG IN STA MBOX1+1 STORAGE ALLOCATION SLOT JSB MSYMT SEARCH SYMBOL TABLE JMP MLOP9 NOT FOUND, JUMP LDA TYPE CPA .28 RSS JMP MLOP0 LDA MBOX1+2 JSB MDIM LDB COML STB MBOX1+1 ADB 0 STB COML MLOP0 LDA M4 JSB ESYMT JMP MLOP2 MLOP9 ADB .2 LDA 1,I SZA JSB ERROR MER5 LDA TYPE CPA .28 COM STMT? JMP ESYN3,I ERROR MISPLACED COM STMT LDA MBOX1+2 STA 1,I STORE THESE DIMENSIONS IN FORMAL INB AND ACTUAL SLOTS IN SYMBOL TABLE STA 1,I ENTRY JMP MLOP2 GO TO PROCESS NEXT WORD SKP M1LOP LDA FCORE CPA PBPTR RSS IS THE FOR TABLE EMPTY JSB ERROR NO, ERROR MER6 LDB SYMTF CHECK THROUGH THE SYMBOL TABLE M2LOP CPB SYMTA JMP M4LOP LDA 1,I AND .15 ADB .2 CPA .15 JMP M2LOP INB ADA M4 SSA,INA,RSS JMP M2LOP SZA,RSS JSB ERROR NO. OF DIMENSIONS UNSPECIFIED MER10 INA STA MBOX1+1 SET FLAG FOR NO. OF DIMENSIONS STB MBOX1 SAVE SYMBOL TABLE LOCATOR LDA 1,I PICK UP DIMENSIONS SZA DEFINED ? JMP M3LOP LDA STDIM NO, LOAD FIRST STANDARD DIMENSION ISZ MBOX1+1 SKIP IF SINGLE DIMENSION ADA .9 STA 1,I STORE IN FORMAL AND ACTUAL ADB M1 STA 1,I M3LOP JSB MDIM STA MBOX1+1 SAVE LDB MBOX1 ADB M2 LDA 1,I PICK UP STORAGE ASSIGNMENT SZA SKIP IF UNDEFINED JMP MER7 LDA FCORE STA 1,I STORAGE ASSIGNMENT SLOT ADA MBOX1+1 STA FCORE CMA,INA ADA SYMTF CHECK THAT THE ARRAY STORAGE SSA DOES NOT OVERLAP THE SYMBOL JSB ERROR TABLE IF SO GO TO ERROR MER7 ADB .3 JMP M2LOP M4LOP LDB PBPTR CPB FCORE JMP FASE3,I LDA MNEG STA 1,I INB LDA MNEG+1 STA 1,I INB JMP M4LOP+1 STDIM OCT 5001 * ***************************** * ENTER SYMBOL TABLE SUBROUTINE * ***************************** * * THE SUBROUTINE IS CALLED WITH THE NEGATIVE OF THE * ENTRY LENGTH IN A . THE ENTRY IS IN TEMPORARY * LOCATIONS AND IS TRANSFERRED TO THE SYMBOL TABLE * BY THE SUBROUTINE * ESYMT NOP STA MBIN1 SAVE NEGATIVE OF LENGTH OF ENTRY ADA SYMTF STA SYMTF MOVE SYMBOL TABLE START LOCATOR STA MBIN2 UP BY THE LENGTH OF ENTRY CMA,INA CHECK THAT THE SYMBOL TABLE AND ADA FCORE SSA,RSS JSB ERROR OVERLAP ERROR MER8 LDB MBUF POINTER TO REQD ENTRY LDA 1,I TRANSFER ENTRY TO THE SYMBOL STA MBIN2,I TABLE INB ISZ MBIN2 ISZ MBIN1 JMP MER8+1 JMP ESYMT,I RETURN SKP * ********************************************** * SUBROUTINE TO SEARCH SYMBOL TABLE FOR AN ARRAY * ********************************************** ** MSYMT NOP B GIVES ARRAY TYPE -3 = 1 DIM, STB MBIN1 -2 = 2DIM, -1 = UNDIMENSIONED LDA MBOX1 LOAD IDENTIFIER JSB SSYMA,I SSB,RSS JMP MSYMT,I FOUND, RETURN ISZ MBIN1 IF ARRAY UNDIMENSIONED RSS JMP MSYM JUMP TO NOT FOUND EXIT ISZ MBIN1 SET UP TO CHECK THAT ARRAY DOES ADA .2 NOT APPEAR IN THE TABLE WITH ADA M1 DIFFERENT DIMENSIONS. CHANGE JSB SSYMA,I SSB,RSS SEARCH AGAIN JSB ERROR FOUND, INCONSISTENT DIMENSIONS MSYM ISZ MSYMT NOT FOUND, INCREMENT RETURN JMP MSYMT,I ADDRESS AND RETURN HED ** EXECUTE THE PROGRAM ** * * PHASE 3 OF THE COMPILER - PROGRAM EXECUTION * FORMX NOP FORMULA BEGINS IN (TEMPS) LDB FORMX STB FORM& CLB INITIALIZE OPERATOR JSB SLWST STACK FORM1 LDA TEMPS,I FETCH OPERAND ISZ TEMPS SET FOR NEXT WORD OF FORMULA AND OPDMK EXTRACT OPERAND STA TEMPS+6 AND SAVE IT SZA,RSS NULL OPERAND? JMP FORM2 YES JSB BHSTP SET STACK FOR OPERAND ADDRESS SSA FLAG BIT SET? JMP FORM4 YES JSB SSYMA,I INB,SZB,RSS JMP E8M1A,I NO AND .15 YES CPA .15 FUNCTION? JMP FORM6 STB HSTPT,I NO, STACK OPERAND ADDRESS FORM2 LDA TEMPS,I FETCH AND OPMSK OPERATOR ALF,ALF POSITION IT LDB 0 ADB FOPBS NO, LOAD OPERATOR ADA M8 NON-FORMULA SSA OPERATOR? CLB YES ADA D53 NO, NON-FORMULA SSA,RSS OPERATOR? CLB YES CLA NO LDA 1,I INFORMATION WORD AND MSK1 SAVE STA TEMPS+7 XOR 1,I SAVE ARS STA TEMPS+6 IDENTIFICATION JMP FOR11 FORM0 STA TSTPT,I STACK HIGH WORD LDA TSTPT STACK OPERAND STA HSTPT,I ADDRESS INA STORE STB 0,I LOW WORD FOR11 LDA LSTPT,I DOES OPERATOR AND MSK0 ON TOP OF CMA OPERATOR STACK ADA TEMPS+7 HAVE HIGHER SSA PRECEDENCE? JMP FORM9 YES, EXECUTE IF RSS NO FOR10 ISZ LSTPT LDB TEMPS+7 RETRIEVE PRECEDENCE ADB M15 NO, LEFT PARENTHESIS SSB OR LEFT BRACKET? ADB .15 NO, RESTORE PRECEDENCE ADB TEMPS+6 COMBINE IDENTIFICATION JSB SLWST WITH PRECEDENCE AND STACK JMP FORM1 FORM4 CPA FLGBT JMP FORM5 YES AND .15 NO, PRE-DEFINED CPA .15 FUNCTION JMP FORM7 YES LDB TEMPS+9 NO, MUST BE A JMP FORM2-1 PARAMETER FORM5 LDB TEMPS LOAD CONSTANT ADDRESS ISZ TEMPS MOVE POINTER TO ISZ TEMPS NEXT CODE WORD JMP FORM2-1 FORM6 STB TEMPS+6 LDB TSTPT JSB SLWST LDB TEMPS+6,I JSB SLWST LDA FORM& STA HSTPT,I ADDRESS ON OPERHAND STACK JSB FORMX EVALUATE PARAMETER ISZ TEMPS UPDATE ISZ TEMPS FORMULA POINTER LDA TEMPS LDB LSTPT,I STB TEMPS STA LSTPT,I LDB TEMPS+9 LDA HSTPT,I ISZ LSTPT ISZ HSTPT STB LSTPT,I STA TEMPS+9 CPA TSTPT JSB RSCHK JSB FORMX LDA LSTPT,I STA TEMPS+9 LDA LSTPT ADA M3 STA LSTPT INA LDB 0,I STB TSTPT INA LDB 0,I STB TEMPS JSB STTOP FOR12 STA TSTPT,I STORE HIGH WORD LDA TSTPT STACK INA STORE STB 0,I LOW WORD ISZ HSTPT UNSTACK LDB HSTPT,I LOAD 'RESULT' ADDRESS STB FORM& ADA M1 STA HSTPT,I JMP FORM2 FORM7 LDA TEMPS+6 ALF,ALF ALF AND .31 ADA PDFBS LDB 0,I JSB SLWST LDA FORM& STA HSTPT,I JSB FORMX ISZ TEMPS ISZ TEMPS LDB LSTPT,I CCA ADA LSTPT STA LSTPT STB ESYMT JSB STTOP JMP ESYMT,I FORM9 LDA LSTPT,I UNSTACK CCB OPERATOR ADB LSTPT INFORMATION STB LSTPT WOSD ALF,ALF COMPUTE AND B177 SUBROUTINE ADA ARBAS ADDRESS JMP 0,I EXECUTE * *** EXECUTION BRANCH TABLE * XECTB DEF ELET LET DEF XEC4 DIM DEF XEC4 COM DEF XEC4 DEF DEF XEC4 REM DEF EGOTO GO TO DEF EIF IF DEF EFOR FOR DEF ENEXT NEXT DEF EGOSB GOSUB DEF ERTRN RETURN DEF RDYDA,I DEF RDYDA,I DEF RDYDA,I DEF RDYDA,I DEF XEC4 DATA DEF EREAD READ DEF EPRIN PRINT DEF EINPT INPUT DEF ERSTR RESTORE DEF EMAT MAT 22255-80013 D