ASMB,R HED <> 92065-16001 NAM BASC5,7 92065-16001 REV.1726 770512 * * DATE REVISED 5-12-77 * * * ************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * ************************************************************** * * * * SOURCE: 92065-18006 * * * ************************************************************* * * ENT BASC5 EXT GETNM,CHRCK,LIMEM,MVNAM EXT TRAP,PRMT,INTCK,FNDPS,EXEC EXT RUN,PLIST,LOADT,DIGCK,LETCK EXT FINDV,WRITE,INDCK,OUTER,GETCR COM TEMPS(30),PNTRS(61),SPEC(10) ***************************************** * * * SEGMENT #5: EXECUTE THE COMMAND * * * ***************************************** * * THIS PART OF THE INTERPRETER IS LOADED BY THE BASIC MAIN CONTROL * WHENEVER A STATEMENT IS FOUND THAT DOES NOT START WITH A STATE- * MENT NUMBER.THE STATEMENT IS THEN CHECKED TO SEE IF IT IS * A LEGAL COMMAND WITH PROPER SYNTAX. IF SO THE CORRECT COMMAND * ROUTINE IS EXECUTED AND CONTROL RETURNED TO * MAIN CONTROL, ELSE AN ERROR MESSAGE IS PRINTED. SKP *************************** * * * CONSTANTS AND VARIABLES * * * *************************** * FWAM EQU PNTRS FIRST WORD OF AVAILABLE MEMORY LWBM EQU PNTRS+1 LAST WORD OF AVAILABLE MEMORY .INBF EQU PNTRS+2 INPUT BUFFER ADDRESS SBUFA EQU PNTRS+3 SYNTAX BUFFER ADDRESS SYMTA EQU PNTRS+4 START OF SYMBOL TABLE SYMTF EQU PNTRS+5 END OF SYMBOL TABLE PBUFF EQU PNTRS+6 FIRST WORD OF USER PROGRAM PBPTR EQU PNTRS+7 LAST WORD+1 OF USER PROGRAM INBFA EQU PNTRS+8 INPUT BUFFER POINTER ICCNT EQU PNTRS+9 INPUT CHARACTER COUNT SBPTR EQU PNTRS+10 SYNTAX BUFFER POINTER .LNUM EQU PNTRS+11 CURRENT LINE # FCORE EQU PNTRS+12 START OF FREE CORE MNNAM EQU PNTRS+13 MNEMONIC TABLE NAME:SC:LU BRNAM EQU PNTRS+18 BRANCH TABLE NAME:SC:LU FWAMM EQU PNTRS+23 POINTER TO START OF MNEMONIC TABLE FWAMB EQU PNTRS+24 POINTER TO START OF BRANCH TABLE .OTBF EQU PNTRS+25 POINTER TO OUTPUT BUFFER OCCNT EQU PNTRS+26 OUTPUT CHARACTER COUNT OTBFA EQU PNTRS+27 POINTER INTO OUTPUT BUFFER LUOUT EQU PNTRS+28 CURRENT OUTPUT L.U. # LUINP EQU PNTRS+29 CURRENT INPUT L.U. # SIGN EQU PNTRS+30 SIGN OF CURRENT NUMBER BLANK EQU PNTRS+31 CURRENT TERMINATION CHAR REC# EQU PNTRS+32 COMMAND FILE RECORD NUMBER FLTYP EQU PNTRS+33 TYPE 0 FILE FLAG TTYPR EQU PNTRS+34 CONSOLE TTY L.U. # PRINT EQU PNTRS+35 LISTING L.U. # READR EQU PNTRS+36 AUXILLIARY INPUT L.U. # PUNCH EQU PNTRS+37 AUXILLIARY OUTPUT L.U. # ERTTY EQU PNTRS+38 ERROR LIST OUTPUT L.U. # FLFIL EQU PNTRS+39 FILE SAVE-RESTORE FLAG SAVFL EQU PNTRS+40 .SAVE COMMAND FLAG PFLAG EQU PNTRS+41 SAVE,LOAD FILE FLAG LOLIM EQU PNTRS+42 LOW LIMITS OF PROGRAM HILIM EQU PNTRS+43 HIGH LIMITS OF PROGRAM LORUN EQU PNTRS+44 LOW RUN LIMITS HIRUN EQU PNTRS+45 HIGH RUN LIMITS SLSTM EQU PNTRS+46 EXECUTE SLOW STMTS LOTRC EQU PNTRS+47 LOW TRACE LIMITS HITRC EQU PNTRS+48 HIGH TRACE LIMITS BRKP1 EQU PNTRS+49 BREAK POINT #1 BRKP2 EQU PNTRS+50 BREAK POINT #2 BRKP3 EQU PNTRS+51 BREAK POINT #3 BRKP4 EQU PNTRS+52 BREAK POINT #4 SMFLG EQU PNTRS+53 SIMULATE FLAG TYPE EQU PNTRS+54 PARTIAL LINE CHARACTER COUNT DLMTR EQU PNTRS+55 CHAR EDIT DELIMITER MERGF EQU PNTRS+56 MERGE FLAG SKP TEMPT BSS 22 TEMPORARIES SPC 1 SUP PRESS MULTIPLE LISTINGS SPC 1 .1 DEC 1 .2 DEC 2 .6 DEC 6 .7 DEC 7 .8 DEC 8 .10 DEC 10 .9999 DEC 9999 B13 OCT 13 B14 OCT 14 B105 OCT 105 MAXSN DEC +10000 TEMAD DEF TEMP8 BIT BUCKET LENGC EQU LUOUT-FWAM LENCM ABS LENGC A EQU 0 B EQU 1 SKP * CMDCT DEC -11 -NUMBER OF COMMANDS * CMDS EQU * * * * COMMAND MNEMONICS START HERE * OCT 3 ASC 2,RUN EXECUTE PROGRAM * OCT 3 ASC 2,DEL DELETE PROGRAM * OCT 4 ASC 2,SAVE SAVE PROGRAM * OCT 4 ASC 2,LIST LIST PROGRAM * OCT 4 ASC 2,LOAD LOAD PROGRAM * OCT 3 ASC 2,BYE TERMINATE BASIC * * OCT 5 ASC 3,MERGE MERGE PROGRAM * * DEC 6 ASC 3,REWIND REWIND TAPE * DEC 4 ASC 2,WEOF WRITE END-OF-FILE * DEC 5 ASC 3,SKIPF SKIP FILE FORWARD * DEC 5 ASC 3,BACKF SKIP FILE REVERSE * * ********************************************************************** * * * THE FOLLOWING TABLE DEFINES ENTRY POINTS FOR EXECUTION * OF COMMANDS. * ********************************************************************** * * * * CMDEX DEF *+1 DEF $RUN EXECUTE PROGRAM DEF $DEL DELETE DEF $SAVE SAVE DEF $LIST LIST DEF $LOAD LOAD DEF $BYE TERMINATE BASIC DEF $MERG MERGE PROGRAM DEF $REW REWIND TAPE DEF $WEOF WRITE END-OF-FILE DEF $SKIP SKIP FILE FORWARD DEF $BACK SKIP FILE REVERSE SKP *************************** * * * CHECK FOR LEGAL COMMAND * * * *************************** * BASC5 NOP LDA .32 SETUP STA BLANK TO SKIP BLANKS STA SAVFL .RESET SAVE FLAG * * LDA SBPTR,I GET FIRST LETTER CPA DLMTR PRINT NEXT LINE COMMAND? JMP PNEXT YES, DO IT TO IT LDB CMDCT SEARCH FOR LEGAL COMMAND JSB TBSRH DEF CMDS JMP CERR1-1 .CAN'T FIND IT - ERROR ADA CMDCT DETERMINE ORDINAL # IN B&M TABLE CMA,INA ADA COUNT ADA CMDEX INCREMENT TO ENTRY PT ADDRESS LDA 0,I GET ADDRESS OF COMMAND JSB INDCK MAKE DIRECT JMP 0,I EXECUTE THE COMMAND * JMP PRMT GO TO 'READY' * * * SKP * HERE FOR: DEL [] * $DEL JSB GETCR FETCH NEXT CHARACTER JMP DEL1 EOF! CPA B105 'E'? JMP DEL2 YES, MAYBE 'DELETE'? JSB PGOLM NO, FETCH LINE #'S NOP EOF DETECTED? LDA LOLIM GET PROGRAM'S LDB HILIM LIMITS AND STA TEMP4 SAVE DESTINATION ADDRESS CLPR1 CPB PBPTR ALL OF PROGRAM MOVED? JMP CLPR2 YES LDA 1,I NO, MOVE WORD FROM SOURCE TO STA TEMP4,I DESTINATION ADDRESS ISZ TEMP4 INCREMENT DESTINATION ADDRESS INB INCREMENT SOURCE ADDRESS JMP CLPR1 CLPR2 LDA TEMP4 SET END-OF-PROGRAM STA PBPTR POINTER JMP PRMT DEL1 JSB SCR DELETE PROGRAM JMP PRMT RETURN * DEL2 CCB SEARCH FOR JSB TBSRH 'ETE' DEF ETE JMP CERR1-1 NOT FOUND JMP $DEL OK! * ETE OCT 3 ASC 2,ETE * SKP * * HERE FOR: RUN [] FROM * $RUN JSB GETCR FETCH NEXT CHAR JMP RUN EOF! JSB LIMCK LIMITS LEGAL LDB LOLIM SET UP STB LORUN RUN LDB HILIM LIMITS STB HIRUN FOR EXECUTION LDB .1 RESTORE STB LOLIM LIMITS LDB .9999 SO ALL STB HILIM OF PROG GETS LOADED CPA .10 LOAD PROGRAM? JMP RUN NO! LDB .5 .ASSUME "RUN FROM" COMMAND STB PFLAG JSB FROMS CHECK "FROM" SYNTAX JSB SCR DELETE CURRENT PROGRAM JMP LOADT NO! * .5 DEC 5 * SKP * * HERE FOR: SAVE,CHANGE OR LIST [] ON * * LISTF=0 FOR LIST COMMAND AND # 0 FOR SAVE * $LIST CLA SET DEFAULT TO JMP $SAVE+1 LIST FLAG FOR TYPE 0 FILE SPC 1 $SAVE CCA SET DEFAULT TO STA PFLAG PUNCH DEVICE STA SAVFL .SET SAVE COMMAND FLAG CLA RESET SAVE1 STA TEMP6 PURGE FLAG LDA PBUFF INITIALIZE STA LOLIM LIMITS LDA PBPTR TO INCLUDE STA HILIM ALL OF PROGRAM JSB GETCR FETCH NEXT NON-BLANK CHAR JMP PLIST EOF! JSB PGOLM GET PROGRAM LIMITS JMP PLIST EOF DETECTED, ASSUME DEFAULT JSB ONS MORE, CHECK "ON" SYNTAX JMP PLIST * SKP * * HERE FOR: >/ LIST NEXT LINE * PNEXT JSB GETCR GET FIRST CHAR JMP PNEX2 EOF, NO STMT # JSB DIGCK NUMBER? JSB ERROR INVALID NUMBER CER14 ADA .48 JSB INTIN FETCH NUMBER DEF MAXSN SZB,RSS ZERO? JMP CER14-1 YES, BAD! LDA 1 JMP PNEX3 * PNEX2 LDA .LNUM GET CURRENT LINE # CPA .9999 LAST STATEMENT OF PROG? PNEX1 CLA YES! INA NO, GET PNEX3 JSB FNDPS AND DETERMINE WHAT JMP PNEX1 THE NEXT ONE NOP IF ANY LDA 1,I THEN STA .LNUM SET UP STB LOLIM LIMITS INA JSB FNDPS FIND NOP POSITION NOP OF NEXT STB HILIM STATEMENT JMP PLIST ONE LINE ONLY * SPC 3 * HERE FOR: BYE * * $BYE LDA .2 OPEN JSB TRAP UP NOP TRAP TABLE JSB LIMEM .RELEASE MEMORY DEF *+4 DEF M32 DEF * DEF * JSB EXEC TERMINATE BASIC PROGRAM DEF *+2 DEF .6 * * SKP * * * HERE FOR: LOAD OR MERGE [] FROM * $MERG CCA SET FLAG SO 'ACTST' DOESN'T OVERLAY STMTS STA MERGF IN SYNTAX SEGMENT * $LOAD STA PFLAG SET FOR DEFAULT INPUT JSB GETCR GET NEXT CHAR JMP LTAPE LOAD FROM DEFAULT DEVICE JSB LIMCK FETCH PROG LIMITS CPA .10 EOF ? RSS .YES USE DEFAULT DEVICE LDB .2 .ASSUME SPEC LU# LOAD/MERGE STB PFLAG JSB FROMS CHECK "FROM"SYNTAX LTAPE LDA MERGF IS THIS A SZA,RSS 'MERGE'? JSB SCR NO, DELETE PROGRAM! JMP LOADT NO, LOAD AND CHECK SYNTAX * * * JSB ERROR NONE FOUND * CERR1 NOP * HERE FOR: REWIND * $REW LDA .4 SET CONTROL JMP FCNT REWIND SPC 1 $WEOF LDA .1 SET CONTROL JMP FCNT WRITE EOF SPC 1 $SKIP LDA B13 SET CONTROL JMP FCNT FOR SKIP FILE FORWARD SPC 1 $BACK LDA B14 SET CONTROL FOR BACK SPACE FILE FCNT CLB RRL 6 SET UP STA ICODE CONTROL WORD * JSB GETCR GET FIRST CHAR JMP CERR1-1 NO NAME FOUND JSB INTIN .INPUT LU # AND CHECK OCT 1653 . FOR MAXIMUM LU LDA B * IOR ICODE .INSERT LU# RETURNED IN A STA ICODE JSB EXEC .PERFORM REWIND DEF *+3 DEF .3 DEF ICODE .CONTROL WORD FOR CONTROL JMP PRMT .RETURN TO PROMPT * ICODE BSS 1 .3 DEC 3 .4 DEC 4 SKP * ******************************************* * * * TABLE SEARCH FOR MULTICHARACTER SYMBOLS * * * ******************************************* TBSRH NOP STA SBPTR,I LDA TBSRH,I JSB INDCK PEEL OFF INDIRECTS ISZ TBSRH STA TABLE STORE TABLE ADDRESS STB LNGTH STORE -(NUMBER OF ENTRIES) LDA INBFA SAVE STA TEMP3 INPUT LDA ICCNT BUFFER STA TEMP4 STATUS LDA SBPTR INITIALIZE END-OF-SYMBOL STA SMEND POINTER CLA,INA COUNT FIRST CHARACTER OF STA SLENG SYMBOL LDA SBPTR,I FETCH PARTIAL SYMBOL ALF,ALF LEFT-JUSTIFY IOR .32 FIRST CHARACTER AND STA SBPTR,I APPEND BLANK TSRC1 JSB GETCR FETCH NEXT CHARACTER JMP TSRC9 END-OF-STATEMENT LDB SLENG CHECK FOR CPB .8 IMPOSSIBLE LENGTH JMP TSRC9 SLB EVEN-NUMBERED CHARACTER? JMP TSRC2 YES ISZ SMEND NO, FETCH FRESH WORD, ALF,ALF LEFT-JUSTIFY CHARACTER, IOR .32 APPEND BLANK, JMP TSR10 TSRC2 ADA M32 DELETE BLANK, ADA SMEND,I FILL SECOND CHARACTER, TSR10 STA SMEND,I AND STORE ISZ SLENG COUNT IT LDB LNGTH INITIALIZE TABLE LENGTH STB COUNT COUNTER LDA TABLE TSRC3 STA TBLPT SET TABLE POINTER LDA TBLPT,I EXTRACT SYMBOL LENGTH AND .7 FROM TABLE AND COMPARE CPA SLENG WITH CURRENT SYMBOL JMP TSRC5 EQUAL? TSRC4 ADA .3 DIFFERENT, ARS UPDATE ADA TBLPT TABLE POINTER ISZ COUNT MORE ENTRIES? JMP TSRC3 YES JMP TSRC1 NO * TSRC5 LDB TBLPT SET POINTER TO STB TSPTR TABLE SYMBOL LDB SBPTR SET (B) TO INPUT JMP TSRC7 SYMBOL POINTER TSRC6 CPB SMEND ALL OF SYMBOL CONSIDERED? JMP TSRC8 YES, MATCH OCCURRED INB NO, INCREMENT TSRC7 ISZ TSPTR SYMBOL POINTERS LDA TSPTR,I FETCH WORD FROM TABLE CPA 1,I MATCH WITH INPUT SYMBOL? JMP TSRC6 YES LDA SLENG NO, WRONG JMP TSRC4 SYMBOL TSRC8 LDA TBLPT,I EXTRACT AND OPMSK SYMBOL CODE STA SBPTR,I ISZ TBSRH AND RETURN VIA JMP TBSRH,I 'SUCCESS' EXIT TSRC9 LDA TEMP3 RESTORE STA INBFA INPUT LDA TEMP4 BUFFER STA ICCNT STATUS LDA SBPTR,I GET ORIGINAL CHAR ALF,ALF POSITION IT AND MSK0 ISOLATE IT JMP TBSRH,I 'FAILURE' EXIT * M32 DEC -32 OPMSK OCT 77000 MSK0 OCT 377 SKP * ****************************************************** * * FIND REQUESTED PROGRAM CORE LIMITS * * CALL SEQ: (A)=NEXT CHAR * JSB PGOLM * RETURN: P+1: EOF DETECTED * P+2: MORE INPUT TO COME * (A)=NEXT CHAR * LOLIM=LOW CORE LIMIT * HILIM=HI CORE LIMIT * ***************************************************** * PGOLM NOP JSB LIMCK FETCH PROGRAM LIMITS STA TEMP5 SAVE NEXT CHAR LDA LOLIM JSB FNDPS FIND POSITION NOP OF 1ST STATEMENT NOP STB LOLIM SAVE IT LDA HILIM INA JSB FNDPS FIND POSITION NOP OF LAST STATEMENT NOP STB HILIM SAVE IT LDA TEMP5 RETRIEVE NEXT CHAR CPA .10 EOF ?? JMP PGOLM,I YES, TAKE P+1 RETURN ISZ PGOLM JMP PGOLM,I NO, TAKE P+2 EXIT * * SKP ******************************************************** * * FETCH PROGRAM LIMITS FROM INPUT BUFFER * ACCORDING TO THE FOLLOWING SYNTAX: * ...... * ...... * ...... * CALL SEQ: (A)=NEXT CHAR * JSB LIMCK * RETURN: (A)=NEXT CHAR * LOLIM = LO LIMIT ; HILIM = HIGH LIMIT * ******************************************************** * LIMCK NOP CLB,INB SET UP STB LOLIM DEFAULT LIMITS LDB .9999 1-9999 STB HILIM LDB M2 STB TEMP4 RSS LIM3 JSB GETCR FETCH NEXT CHAR NOP LIM1 JSB DELM DELIMITER ? JMP LIM3 YES, IGNORE CPA .43 PLUS? JMP LIM3 YES! CPA .45 MINUS? JMP CERR2-1 YES, VERY BAD JSB DIGCK DIGIT ? JMP LIMCK,I NO,EXIT ADA .48 YES, JSB INTIN FETCH # DEF MAXSN & SZB,RSS ZERO? JMP CERR2-1 YES, BAD STB HILIM SAVE IT ISZ TEMP4 DONE ? RSS JMP LIM2 STB LOLIM NO, CONTINUE JMP LIM1 LIM2 INB INSURE CMB,INB LOLIM<=HILIM ADB LOLIM SSB,RSS JSB ERROR INVALID LIMITS CERR2 LDB .32 OK, SET UP FOR STB BLANK FREE FORMAT INPUT RSS FETCH NEXT JSB GETCR NON-DELIMITER NOP JSB DELM CHARACTER JMP *-3 (A)=NEXT CHAR JMP LIMCK,I & RETURN * .43 DEC 43 .45 DEC 45 .48 DEC 48 .32 DEC 32 M2 DEC -2 * **************************************************** * * DELM WILL TEST FOR A DELIMITER * **************************************************** * DELM NOP CPA .32 BLANK? JMP DELM,I YES, P+1 RETURN CPA B54 COMMA? JMP DELM,I YES ISZ DELM NEITHER TAKE JMP DELM,I P+2 RETURN * B54 OCT 54 * * * ***************************************************** * * INTIN WILL BUILD AN INTEGER FROM INPUT * * CALL SEQ: (A)=CURRENT CHAR * JSB INTIN * DEF (MAX #) * RETURN: (B)=INTEGER * ***************************************************** * INTIN NOP STA TEMP5 SAVE CUR. CHAR. LDA INTIN,I FETCH JSB INDCK MAXIMUM LDA A,I CMA,INA STA INTI1 ALLOWABLE ISZ INTIN LIMIT LDA SBPTR SAVE STA TEMP1 SBPTR LDA TEMAD STATUS STA SBPTR LDA TEMP5 RECOVER CUR.CHAR. JSB INTCK FETCH INTEGER DEF INTI1 JMP CERR8-1 STA TEMP5 LDA TEMP1 RESTORE STA SBPTR SBPTR STATUS LDA TEMP5 JMP INTIN,I * INTI1 NOP SKP **************************************************** * * SET FROM / TO FLAG * * ***************************************************** * FROMS NOP LDB .2 STB FRMTO .SET FROM FLAG CCB JSB TBSRH DEF FROM JMP CERR1-1 .NOT FOUND SYNTAX ERROR * JSB GETCR JMP CERR8-1 JSB FILCK .CHECK FOR FILE NAME OK JMP FROMS,I .YES GO BACK JSB INTIN .BUILD LU # OCT 1653 .LUMAX SZA,RSS JMP CERR8-1 .NOT VALID LU STB LUINP JMP FROMS,I .EXIT- SUCCESSFUL * JSB ERROR .INVALID LU # CERR8 EQU * * FROM OCT 4 ASC 2,FROM ON OCT 2 ASC 1,ON * * ONS NOP CLB,INB STB FRMTO .SET FROM/TO FLAG CCB .LOOK FOR "ON" JSB TBSRH DEF ON JMP CERR1-1 .NOT FOUND SYNTAX ERROR JSB GETCR .FETCH NEXT CHARACTER JMP CERR8-1 .ERROR IF NO LU# SPECIFIED JSB FILCK .CHECK FOR FILE NAME OK JMP ONS,I .YES GO BACK JSB INTIN .BUILD LU # OCT 1653 SZA,RSS JMP CERR8-1 .NOT VALID LU STB LUOUT LDB .2 .SET PFLAG TO LU INPUT STB PFLAG JMP ONS,I .EXIT WITH LU * SKP D53 OCT -53 FILCK NOP JSB LETCK CHECK FOR ALPHA RSS .NOT ALPHA - CHECK SPEC CHAR JMP FILE .GO PROCESS FILES LDB A ADB D53 .ALLOW !#$%&'()* SSB,RSS . AS FIRST CHAR JMP NFILE .NO FILE NAME ADB .10 SSB,RSS JMP FILE .YES LIGIT NFILE CLB .NO FILE RESET FLAG STB FLFIL ISZ FILCK .EXIT NO FILE JMP FILCK,I * FILE JSB MVNAM .CHECK FOR FILE HANDLER JMP NFILE .NO HAND CCB STB FLFIL .SET FILE FLAG JMP FILCK,I SKP **************************************************** * * SCRATCH SUBROUTINE * * CALL SEQ: JSB SCR * RETURN: P+1: NORMAL * *************************************************** * SCR NOP LDA FWAM STA PBUFF SET PROGRAM BUFFER ADDRESS STA PBPTR SET PROGRAM BUFFER POINTER LDA .32 INITIALIZE STA BLANK DELETE CHARACTER FOR GETCR CLA SET LINE NUMBER STA .LNUM TO 0 INITIALLY JMP SCR,I * ************ * *********************** * * * PRINT ERROR MESSAGE * * * *********************** ERROR NOP CLA RESET STA PFLAG FILE FLAG STA .LNUM AND DO NOT PRINT LINE # FLAG LDB ERROR ERROR SOURCE IN (B) LDA ERBS ERROR ADDRESS IN (A) INA MOVE TO NEXT ERROR CPB 0,I SAME AS ACTUAL ERROR? CMA,INA,RSS YES, MAKE ERROR NEGATIVE JMP *-3 NO ADA ERBS MAKE ERROR POSITIVE CMA,INA ADA .71 ACCOUNT FOR LENGTH OF TABLE STA TEMP3 SAVE IT JMP OUTER PRINT ERROR MESSAGE * .71 DEC 71 ERBS DEF ERR-1 SKP *************** * * * ERROR TABLE * * * *************** ERR DEF CERR1 NOT A VALID COMMAND DEF CERR2 INVALID LIMITS DEF CERR8 INVALID LU DEF CER14 INVALID STATEMENT NUMBER * TEMP EQU TEMPS+1 TEMP1 EQU TEMPS+2 TEMP2 EQU TEMPS+3 TEMP3 EQU TEMPS+4 TEMP4 EQU TEMPS+5 TEMP5 EQU TEMPS+6 TEMP6 EQU TEMPS+7 TEMP7 EQU TEMPS+8 TEMP8 EQU TEMPS+9 TEMP9 EQU TEMPS+10 TEM10 EQU TEMPS+11 COUNT EQU TEMPT+1 JREC EQU TEMPT+2 FRMTO EQU TEMPT+3 TABLE EQU TEMPT+4 SMEND EQU TEMPT+5 SLENG EQU TEMPT+6 TBLPT EQU TEMPT+7 TSPTR EQU TEMPT+8 LNGTH EQU TEMPT+9 FERR EQU TEMPT+10 TYP EQU TEMPT+11 NAME EQU TEMPT+12 ARRAY OF 5 WORDS SC EQU TEMPT+15 LU EQU TEMPT+16 NNAME EQU TEMPT+17 ARRAY OF 3 WORDS * END