ASMB,R,Q,C HED <> 92076-1X003 REV.2040 NAM BASC2,5 92076-1X003 REV.2040 800727 92076-16001 * * * ************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. 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. * ************************************************************** * * * * NAME: BASC2 * SOURCE: 92076-18003 * RELOC: PART OF 92076-16001 * PGRM: B.J.L. * * * ************************************************************* * ENT BASC2,MCOPY EXT EXEC,RDYPT,FNDPS,OUTCR,OUTIN,INTCK EXT CLOSE,WRITF,WRITE,ERRPT,NUMOT,FCNS EXT IFBRK,SPEC2,PRMT,COMFL,OPENF,READF,PURGE COM TEMPS(32),PNTRS(81),FILBF(16),FLDCB(144),SPEC(10) * *PNTRS INCREASED TO 81 800727************************ *TEMPS INCREASED TO 32 800107************************** *ADDED PURGE ROUTINE 800210**************************** ******REMOVED CALL TO OPEN, ADDED CALL TO OPENF 790828******* *PNTRS INCREASED TO 79 790831******************************* *PNTRS INCREASED TO 80 791010******************************* ******REMOVED CALL TO FINDV 790829************************** *REMOVED CALL TO GETCR 790820********* * ************************************** * * * SEGMENT #2: LIST THE PROGRAM * * * ************************************** * * THIS PART OF THE INTERPRETER IS LOADED BY THE BASIC MAIN CONTROL * WHENEVER THE 'LIST' OR 'SAVE' COMMANDS ARE GIVEN. IT WILL RE- * CONSTRUCT A USER PROGRAM, LINE BY LINE, CONVERTING IT FROM THE * TRANSLITERATED FORM TO ASCII. IT THEN OUTPUTS THIS ASCII TO * THE LIST DEVICE. * * IN ADDITION, THIS SEGMENT IS LOADED WHENEVER AN ERROR OCCURS. IT * WILL PRINT OUT THE APPROPRIATE ERROR MESSAGE AND THEN RETURN * EXECUTION TO THE MAIN CONTROL PROGRAM. 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 **********CHANGED FOR L USAGE OF GETST 790409******* TTYPR EQU PNTRS+34 CONSOLE TTY L.U. # TTYP1 EQU PNTRS+35 3RD AND 4TH CHAR TTYP2 EQU PNTRS+36 5TH AND 6TH CHAR TTYP3 EQU PNTRS+37 SECURITY CODE OF FILE TTYP4 EQU PNTRS+38 CRN # OF FILE **************************************************** DCB EQU PNTRS+39 DATA CONTROL BLOCK ADDRESS FILBK EQU PNTRS+40 FILE CONTROL BLOCK ADDRESS 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 **************************790712******************************** COMN EQU PNTRS+57 COMMAND FILE NAME:SC:CRN MANT1 EQU PNTRS+62 MANTISSA #1 MANT2 EQU PNTRS+63 MANTISSA #2 EXPNT EQU PNTRS+64 EXPONENT ***********************CHANGED 790831************************** ***********************CHANGED 791010************************** INNAM EQU PNTRS+65 NAME RTN. FROM CRETS (3 WORDS) INNUM EQU PNTRS+68 SCRATCH FILE # AND COUNTER HSTPT EQU PNTRS+69 HIGH-STACK POINTER TSTPT EQU PNTRS+70 TEMPORARY STACK POINTER LSTPT EQU PNTRS+71 LOW-STACK POINTER LSTAK EQU PNTRS+72 LOW-STACK ADDRESS PRADD EQU PNTRS+73 PROGRAM EXECUTION DSTRT EQU PNTRS+74 DATA NXTDT EQU PNTRS+75 STATEMENT DCCNT EQU PNTRS+76 POINTERS NXTST EQU PNTRS+77 NEXT STMT NUMBER *********MOVED FROM BEHIND TTYPR FOR L 790409***************** PRINT EQU PNTRS+78 LISTING LU# ERTTY EQU PNTRS+79 ERROR LU# TRAPF EQU PNTRS+80 TRAP BUSY FLAG 800727*** ***************************790831************************************ *PUNCH NOP ***REMOVED 790828***** *READR NOP ***REMOVED 790828***** ********************************************************************** SKP TEMPT BSS 7 STTYP DEF LET FOPBS DEF QUOTE-2 LNBFA DEF LNBFF-1 ERBFA DEF ERBUF DCBAD DEF FLDCB AFCNS DEF FCNS SPC 1 SUP PRESS MULTIPLE LISTINGS SPC 1 .0 DEC 0 .1 DEC 1 .2 DEC 2 .3 DEC 3 .4 DEC 4 .5 DEC 5 .7 DEC 7 .10 DEC 10 .15 DEC 15 *.20 DEC 20 ****REMOVED 790820***** .32 DEC 32 .34 DEC 34 .40 DEC 40 .45 DEC 45 .73 DEC 73 .125 DEC 125 ***ADD FOR BUG 790928 MM*** .132 DEC 132 ***ADD FOR BUG 790928 MM*** .133 DEC 133 ***ADD FOR BUG 790928 MM*** .1000 DEC 1000 .9999 DEC 9999 .G50 OCT 50000 B36 OCT 36 B37 OCT 37 B40 EQU .32 B44 OCT 44 B60 OCT 60 B100 OCT 100 F OCT 106 N OCT 116 B177 OCT 177 B777 OCT 777 MSK0 OCT 377 B1000 OCT 1000 B1100 OCT 1100 COMWD OCT 34000 REMOP OCT 36000 IMAOP OCT 67000 FOROP OCT 41000 NEXOP OCT 42000 NSBOP OCT 56000 FILOP OCT 63000 SPLOP OCT 65000 ONOP OCT 73000 TYPFL OCT 100017 OPDMK OCT 100777 M1 DEC -1 M2 DEC -2 M3 DEC -3 *M4 DEC -4 ****REMOVED 790820**** M5 DEC -5 M21 DEC -21 M42 DEC -42 M103 DEC -103 *800421** M1000 DEC -1000 M2000 DEC -2000 ***ADDED 790604******* M2001 DEC -2001 **ADDED 800318** MNEG OCT 100000 MAXIMUM NEGATIVE FLOATING OCT 376 POINT NUMBER FLGBT EQU MNEG SPC 3 ERBUF ASC 5, IN LINE LNBFF BSS 2 BLNK DEF *+1 ASC 2, _ : ALEN DEF *+1 OCT 3 ASC 2,LEN FORCT NOP 'FOR'-'NEXT' SPACE COUNTER LNCNT NOP LINE COUNTER CRLF DEF *+1 OCT 6412 SKP ******************** * * * LIST THE PROGRAM * * * ******************** BASC2 NOP ******************REMOVED 790530*********************** * LDA PFLAG IS THIS INITIALIZATION?***** * CPA .9999 * RSS YES, GO GET SEGMENT'S FWAM AND LWAM * JMP BAS2C NO, CONTINUE EXECTION * JSB GMS.C * JMP ROTAT RET. TO MAIN FOR FWAM AND LWAM CHECK***** ****************790530************** CLA INITIALIZE STA LNCNT LINE COUNTER LDA LUOUT IS IT ERROR SSA MESSAGE ENTRY? JMP PRMES YES! LDB LOLIM SET PTR STB TEMPS TO PROGRAM START LDB PRINT ASSUME PRINTER LDA PFLAG BUT CHECK FLAG FOR SURE *********************REMOVED 790530********************* * SSA -1 IF PUNCH * LDB PUNCH ITS A PUNCH REQUEST ************************790530************************** CMA,SSA,INA,SZA PFLAG <= 0? JMP LIST1 NO, FILE OUTPUT STB LUOUT SAVE OUTPUT DEVICE L.U. SPC 1 * IF LINE PRINTER LIST DEVICE - MOVE FORM TO NEW PAGE * IF TERMINAL OUTPUT - SPACE UP ON SCREEN * SPC 1 LDA LUOUT ******************REMOVED 790530*************************** * JSB FINDV FETCH DRIVER NUMBER * CPA .2 PUNCH? * JMP LIS40 YES! * CPA .10 LINE PRINTER? * JMP LIS41 YES, THROW A PAGE! * CPA .5 CRT LINEPRINTER? * RSS MAYBE! * JMP LIST1 NO SPECIAL PROCESSING * CPB .4 ******************790530**************************** JSB HEAVE START AT TOP OF FORM ****************REMOVED 790530********************** * JMP LIST1 * * LIS40 LDA LUOUT FORM LEADER * IOR B1000 CONTROL WORD * STA TEMP3 * JSB EXEC CALL EXEC * DEF *+3 * DEF .3 TO PUNCH * DEF TEMP3 LEADER *********************790530********************** SPC 1 * INITIALIZE FOR CONVERTING A STATEMENT SPC 1 LIST1 LDB TEMPS MORE CPB HILIM PROGRAM? JMP LIS13 NO * CCA INITIALIZE ADA .OTBF OUTPUT STA OTBFA BUFFER POINTER CLA INITIALIZE STA OCCNT CHAR COUNT SKP * JSB OUTBL OUT PUT A BLANK JSB OUTBL OUT PUT A BLANK ISZ LNCNT UPDATE LINE COUNTER SPC 1 * OUTPUT LINE NUMBER SPC 1 LDA TEMPS,I OUTPUT STA .LNUM JSB OUTIN SEQUENCE NUMBER JSB OUTBL OUTPUT A BLANK LDB FORCT JSB FORSP INDENT 'FOR'-'NEXT' LOOP ISZ TEMPS FETCH LDA TEMPS,I STATEMENT LENGTH CMA,INA SET INA WORD STA LCNTR COUNTER LIST3 ISZ TEMPS MORE ISZ LCNTR STATEMENT? JMP LIST4 YES SPC 1 * CONVERSION COMPLETE - OUTPUT THE LINE ON LIST DEVICE SPC 1 LIS30 JSB IFBRK IS DEF *+1 ATTENTION SZA FLAG SET? JMP LIS13 YES, GO TO READY * LDA PFLAG IS OUTPUT CPA .1 TO DISK? JMP SAVEF YES! * **************************************************************** *NOTE: THIS PART OF THE OUTPUT LISTING IS TO REMAIN IN FOR THE * DEFAULT CASE OF THE LIST COMMAND TO THE USER TERMINAL. * * LDB .OTBF OUTPUT LDA OCCNT STATEMENT JSB WRITE TO PERIPHERAL JMP LIST1 * ******************************************************************** SPC 1 * OUTPUT TO FILE SPC 1 SAVEF LDA OCCNT CHECK FOR UNEVEN SLA CHARACTER COUNT JMP SAVE1 YES, ITS ODD, MAKE IT EVEN RAR COUNT TO STA OCCNT WORD COUNT JSB WRITF WRITE OUT RECORD DEF *+6 DEF DCB,I DEF FERR DEF .OTBF,I DEF OCCNT DEF .0 LDA FERR WAS THERE SSA,RSS AN ERROR? JMP LIST1 NO! STA TEMP3 YES! JMP PRMES PRINT ERROR MESSAGE * SAVE1 LDA B40 APPEND A JSB OUTCR SPACE TO OUTPUT BUFFER JMP SAVEF SPC 1 * CONVERT THE OPERATOR SPC 1 LIST4 LDA TEMPS,I AND OPMSK SZA,RSS NULL OPERATOR? JMP LIST5 YES * CPA SPLOP SPECIAL SYNTAX LISTING RSS YES! JMP CONT NO! LDA LCNTR LENGTH COUNTER LDB .0 LIST SPEC SYNTAX FLAG JSB SPEC2 PROCESS LISTING OF SPECIAL SYNTAX JMP LIS30 DO ACTUAL LISTING * CONT STA TEMP2 SAVE OPERATOR ALF,ALF SINGLE ARS LDB 0 CHARACTER ADA M21 SSA,RSS OPERATOR? JMP LIS12 NO BLS YES INB LOAD ADB FOPBS SYMBOL'S LDA 1,I ASCII WORD ALF,ALF ADJUST AND MSK0 CHARACTER CPA .34 " ? JMP LIS14 YES JSB OUTCR NO SKP * CONVERT THE OPERAND SPC 1 LIST5 LDA TEMPS,I AND OPDMK SAVE STA TEMP3 OPERAND SSA FLAG BIT SET? JMP LIST9 YES SZA,RSS NO, NULL OPERAND? JMP LIST3 YES AND TYPFL ISOLATE TYPE PART CPA .15 FUNCTION? JMP LIST8 YES SPC 1 * OUTPUT LETTER-DIGIT COMBINATIONS SPC 1 LIST6 LDA TEMP3 RRR 4 AND B177 OUTPUT ADA B100 JSB OUTCR LETTER LDA TEMP3 YES AND .15 RESTORE SZA,RSS STRING? JMP LIS16 YES! ADA M5 NO! SSA LETTER-DIGIT? JMP LIST3 NO! ADA B60 DIGIT LIS17 JSB OUTCR OUTPUT DIGIT JMP LIST3 SPC 1 LIS16 LDA B44 '$' JMP LIS17 SPC 1 LIST8 LDA F OUTPUT JSB OUTCR LDA N 'FN' JSB OUTCR LDA TEMP3 OUTPUT RRR 4 AND B177 LETTER ADA B100 JSB OUTCR JMP LIST3 SPC 1 * OUTPUT FLOATING-POINT CONSTANTS SPC 1 LIST9 XOR FLGBT SZA NUMBER? JMP LIS10 NO ISZ TEMPS YES LDA TEMPS,I ISZ TEMPS LDB TEMPS,I ISZ LCNTR ISZ LCNTR CCE OUTPUT JSB NUMOT THE NUMBER JMP LIST3 SPC 1 * OUTPUT FUNCTION NAMES SPC 1 LIS10 AND .15 CPA .3 INTEGER? JMP LIS11 YES CPA .15 NO, FUNCTION? RSS YES JMP LIST6 NO, MUST BE A PARAMETER LDA TEMP3 COMPUTE RRR 4 AND B37 COMPUTE INTERNAL FUNCTION NO. CPA B37 IS IT LEN FUNCTION? JMP LENF YES CPA B36 FORTRAN FUNCTION? JMP FRFCT YES! STA TEMP2 CODE CMA STA TEMP5 NO. OF MNEMONICS TO SKIP LDA AFCNS RSS PEEL LDA 0,I OFF RAL,CLE,SLA,ERA INDIRECTS JMP *-2 STA 1 ADDR OF MNEMONIC ENTRIES IN BREG NXFCN ISZ TEMP5 IS THIS IT? RSS NO! JMP LFCN YES! LDA 1,I GET FIRST WORD OF MNEMONIC ENTRY AND .7 GET CHARACTER COUNT ADA .3 ARS INCREMENT TO NEXT ENTRY ADB 0 ADD IN MNEM TBL ADDRESS JMP NXFCN CHECK NEXT ENTRY LFCN JSB MCOPY OUTPUT FUNCTION NAME JMP LIST3 * LEN FUNCTION FOUND LENF LDB ALEN ADDRESS OF PRINT JMP LFCN BUFFER FOR LEN FRFCT ISZ TEMPS ISZ LCNTR JMP MCAL1 PRINT FORTRAN FUNCT MNEM SPC 1 * OUTPUT INTEGER CONSTANTS SPC 1 LIS11 ISZ TEMPS OUTPUT ISZ LCNTR LDA TEMPS,I INTEGER SSA MINUS SIGN REQUIRED? JMP LIS19 YES! LIS18 JSB OUTIN JMP LIST3 OPERAND * LIS19 LDA .45 OUTPUT JSB OUTCR MINUS SIGN LDA TEMPS,I COMPLEMENT CMA,INA TO OBTAIN JMP LIS18 ABSOLUTE VALUE SPC 1 * OUTPUT OPERATOR SPC 1 LIS12 JSB OUTBL OUTPUT A BLANK * LDA TEMP2 IS THIS CPA FOROP A 'FOR' STATEMENT? JMP LIS21 YES, INDENT 'FOR' STATEMENT LIS22 LDA TEMP2 CPA NEXOP IS THIS A 'NEXT' STMT? RSS YES! JMP *+4 NO! LDB FORCT DECREMENT ADB M1 FOR STB FORCT COUNT CPA .G50 CALL? JMP MCALL YES. PRINT CALL STATEMENT JSB MCOUT OUTPUT LDA TEMP2 OPERATOR CPA REMOP IS IT A REMARK STATEMENT? JMP LIS15 YES CPA IMAOP IMAGE STMT? JMP LIS15 YES! CPA FILOP IS IT A FILES STATEMENT? JMP LIS23 YES LDA TEMP2 COM STMT? CPA COMWD RSS YES! JMP *+5 NO! ISZ TEMPS YES, SKIP ISZ TEMPS OVER COMMON SIZE ISZ LCNTR AND DECREMENT ISZ LCNTR LENGTH COUNTER LDA .32 OUTPUT A BLANK JMP LIST5-1 AND LOOK FOR OPERANDS. * LIS23 JSB OUTBL OUTPUT A BLANK LIS15 JSB OUTST OUTPUT STRING JMP LIST3 SPC 1 LIS21 ISZ FORCT INCREMENT COUNT LDB .1 AND INDENT JSB FORSP 'FOR' STATEMENT JMP LIS22 ONE MORE TIME SPC 1 * IF PUNCH LIST DEVICE - PUNCH TRAILER ON TAPE SPC 1 LIS13 LDA PFLAG CPA .1 FILE OUTPUT? JMP SAVE2 YES! ******************REMOVED 790829************************************* * CPA .0 KEYBOARD OUTPUT? * JMP LIS20 YES! * LDA LUOUT * JSB FINDV FETCH DRIVER NUMBER * CPA .5 264X DEVICE? * RSS YES! * JMP LIS49 NO! * CPB .1 MINITAPE? * JMP EOF YES, LEFT UNIT! * CPB .2 * JMP EOF RIGHT UNIT! * CPB .4 CRT PRINTER? * JMP LIS50 YES! *LIS49 CPA .10 A REGULAR LP? * JMP LIS50 YES, THROW A PAGE! * CPA .2 PUNCH? * JMP EOF YES, PUNCH TRAILER! * JMP ENLST END! ** ************790829******************************************** JSB HEAVE EJECT PAGE **REMOVED LABEL 'LIS50'*** JMP ENLST ***********************REMOVED 790829******************************* ** *EOF LDA LUOUT * IOR B1000 FORM EOF REQUEST * STA TEMP3 * JSB EXEC PUNCH LEADER * DEF *+3 OR * DEF .3 WRITE * DEF TEMP3 EOF FOR 264X * JMP ENLST *******************************790829********************************* ** SAVE2 JSB WRITF WRITE DEF *+5 DEF DCB,I END-OF DEF FERR DEF .OTBF,I DEF M1 FILE JSB CLOSE CLOSE FILE! DEF *+4 DEF DCB,I DEF FERR DEF M1 LDA FERR WAS THERE SSA,RSS AN ERROR? JMP ENLST NO! STA TEMP3 YES, SAVE ERROR # JMP PRMES PRINT ERROR MESSAGE * **************************REMOVED 790829****************************** *LIS20 LDA LUOUT IS THE LIST UNIT * CPA TTYPR REALLY THE * JMP ENLST CONSOLE * JSB HEAVE OR LINE **********************************790829****************************** ENLST LDA REC# INPUT FROM CPA .1 COMMAND FILE? JMP PRMT YES, DON'T PRINT READY LDA LNCNT LINE COUNT CPA .1 ONLY ONE? JMP RDYPT NO! JMP COMFL YES! SKP ******************************* * * * INDENT 'FOR'-'NEXT' LOOPS * * * ******************************* * FORSP NOP SZB,RSS NEED ANY SPACES? JMP FORSP,I NO! SSB TOO MANY 'NEXT'S' ? JMP FORSP,I YES! CMB,INB SET STB TEMP3 COUNTER LDA PFLAG OUTPUT TO DISK? **REMOVED LABEL 'FORS1'** * *********790820********** CPA .1 JMP FORS3 YES, GO CHECK FILE TYPE CPA M1 TO PUNCH? JMP FORSP,I YES, DON'T INDENT FORS0 LDA B40 OUTPUT JSB OUTCR SPACE LDA B40 OUTPUT ANOTHER JSB OUTCR SPACE ISZ TEMP3 DONE? JMP FORS0 NO! JMP FORSP,I YES! * FORS3 LDB DCB CHECK ADB .2 DCB FOR LDA 1,I FILE TYPE SZA TYPE = 0 ? JMP FORSP,I NO, EXIT NOW JMP FORS0 YES, GO INDENT! SPC 2 ******************** * * * OUTPUT A BLANK * * * ******************** * OUTBL NOP LDA PFLAG IS OUTPUT CPA .1 TO DISC? JMP OUTB1 YES! CPA M1 TO PUNCH? JMP OUTBL,I YES JMP OUTB2 NO, OUTPUT BLANK * OUTB1 LDB DCB CHECK ADB .2 DCB FOR LDA 1,I FILE TYPE SZA = 0? JMP OUTBL,I YES! * OUTB2 LDA .32 OUTPUT A BLANK JSB OUTCR JMP OUTBL,I SKP * OUTPUT QUOTE STRING SPC 1 LIS14 LDB TEMPS,I OUTPUT QUOTE STRING BLF,BLF TEST BIT 8 SLB SUPPRESS QUOTES? JMP LIS13 YES! JSB OUTCR OUTPUT " JSB OUTST OUTPUT QUOTE STRING LDA .34 OUTPUT " JMP LIS17 * ********************* * * * OUTPUT FORMFEED * * * ********************* * HEAVE NOP AND B177 MAKE SURE V-BIT IS 0 IOR B1100 FORM TAB COMMAND STA LENTH ***********************REMOVED 790820***************************** * JSB FINDV GET DVR NUMBER * CPA .10 LINE PRINTER * RSS YES! * JMP HEAVE,I *************************790820**************************************** JSB EXEC DO IT TO IT DEF *+4 DEF .3 DEF LENTH DEF M3 JMP HEAVE,I * * SKP ******************* * * * OUTPUT A STRING * * * ******************* OUTST NOP LDA TEMPS,I AND B177 GET STRING COUNT CMA,INA,SZA,RSS NULL STRING? JMP OUTST,I YES! STA TEMP6 NO, SAVE NEG OF COUNT OUTS1 ISZ TEMPS MOVE TO NEXT PAIR OF CHARS ISZ LCNTR BUMP COUNTER LDA TEMPS,I GET THEM ALF,ALF POSITION TO OUTPUT LEFT CHARACTER JSB OUTS2 OUTPUT CHAR LDA TEMPS,I GET CHAR PAIR AGAIN JSB OUTS2 OUTPUT RIGHT HAND CHAR JMP OUTS1 SPC 1 OUTS2 NOP AND B177 JSB OUTCR ISOLATE AND OUTPUT CHAR ISZ TEMP6 WAS IT LAST CHAR JMP OUTS2,I NO! JMP OUTST,I YES! * ********************************** * * * OUTPUT A MULTICHARACTER SYMBOL * * * ********************************** MCOUT NOP LDB STTYP ADDRESS OF STATEMENT OPERATORS 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 JSB MCOPY GO OUTPUT SYMBOL JMP MCOUT,I * MCOPY NOP LDA 1,I COMPUTE AND .7 ENTRY CMA,INA LENGTH STA DIGCT AND SAVE IT 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 DIGCT MORE CHARACTERS? JMP MCOU3 YES JMP MCOPY,I ******************************* * * * LIST A CALL STATEMENT * * * ******************************* * MCALL JSB MCOUT OUTPUT 'CALL" JSB OUTBL OUTPUT A BLANK MCAL1 LDA TEMPS STA TEMP7 CLEAR FORT FCT FLAG LDA 0,I GET OPERATOR WORD AND B777 GET MNEMONIC TBL OFFSET CMA USE OFFSET TO FIND MNEMONIC STA TEMP5 NO. OF MNEMONICS TO SKIP LDB FWAMM GET ADDR. OF SUB. MNEMONICS INB NXSUB ISZ TEMP5 IS THIS IT? RSS NO! JMP LCALL YES! LDA 1,I GET FIRST WORD OF MNEMONIC ENTRY AND .7 GET CHARACTER COUNT ADA .3 ARS INCREMENT TO NEXT ENTRY ADB 0 ADD IN MNEM TBL ADDRESS JMP NXSUB CHECK NEXT ENTRY LCALL JSB MCOPY LIST THE CALL MNEMONIC LDA TEMP4 GET LAST CHAR (SEE OUTCR) CPA .40 LAST CHAR "("? RSS YES, SUPPRESS SPACE JSB OUTBL OUTPUT A BLANK ISZ TEMPS POINT AT FIRST PARAM ISZ LCNTR UPDATE INTERMEDIATE CODE COUNTER JMP LIST5 SKP ********************************************************************* * * * THIS ROUTINE REPLACE ALL ABSOLUTE GOTO WITH STMT #'S * * * ********************************************************************* STREN NOP LDA TEMP3 IS THIS ADA M103 ERROR IN ONE OF THE COMMAND SEGMENTS SSA,RSS ****SAME AS SEG. 5 OFFSET IN ERROR***** JMP STREN,I YES, DONT REPLACE SEQ NUMBERS LDA PBUFF CPA PBPTR ANY PROGRAM? JMP STREN,I NO! STA RENQ ADA M1 STA RENP SEEK EMBEDDED REN12 JSB RENSK STATEMENT REFERENCES JMP STREN,I NONE LEFT LDA RENP,I IF REFERENCE IS CPA COMMA COMMA? JMP REN12 YES, CONTINUE MIGHT BE GOTO-OF ETC. JSB RENS0 SET STMT NUMBER TO ABSOLUTE ADDRESS JMP REN12 * RENSK NOP LDB M5 STB RENCT SET 'IF' COUNTER LDB PSTIF STB RENAD SET PAST IF STMT PTR ISZ RENP INCREMENT POINTER LDB RENQ ADDRESS OF BEGINNING OF NEXT STMT LDA USFLG PRINT USING SZA LAST STMT? JMP RENS2 YES, SKIP OVER REST OF STMT! LDB RENQ CPB RENP STATEMENT FINISHED? JMP RENS2 YES RENS1 ISZ RENSK NO, RETURN WITH RENP JMP RENSK,I SET TO NEXT REFERENCE STB RENQ UPDATE TO NEXT STATEMENT RENS2 CLA SET PRINT USING STA USFLG CLEAR CPB PBPTR PROGRAM EXHAUSTED? JMP RENSK,I YES STB RENR SAVE CURRENT STATEMENT ADDRS ISZ RENQ LDB RENQ ISZ RENQ EXTRACT LDA RENQ,I STATEMENT AND OPMSK TYPE ADB 1,I SET (B) TO ADB M1 NEXT STATEMENT CPA RESOP ? JMP RENS5 YES CPA GOTOP NO, ? JMP RENS3 YES CPA GOSOP NO, ? JMP RENS3 YES CPA FALOP NO, ? JMP RENS3 YES CPA CALOP NO, ? RSS YES * CPA TRPOP NO, ? *800421** * RSS YES! *800421** CPA PRTOP NO, ? RSS YES! CPA IFOP NO, ? RSS YES! JMP RENS2-1 LDA RENAD,I GET PAST 'IF' OPERATOR RENS3 IOR INTFL CREATE REFERNCE HEADER STB RENQ SET POINTER TO NEXT STMT ADB M1 SET PTR TO RENS4 STB RENP PROSPECTIVE HEADER? ADB M1 CPB RENR END OF STATEMENT? JMP RENS6 YES! RENS8 CPA 1,I PRECEDED BY REFERENCE HEADER? JMP RENS7 YES ISZ RENAD GOTO NEXT OPERATOR LDA RENAD,I PAST 'IF' IOR INTFL ISZ RENCT DONE? JMP RENS8 NO! LDA PSTIF STA RENAD LDA M5 STA RENCT LDA OFOP YES, LOAD HEADER FOR CPA 1,I JMP RENS1 LDA USEOP PRINT USING? CPA 1,I JMP RENS1 JMP RENS4 REFERENCE LIST RENS5 CPA RENQ,I ANY REFERENCE? JMP RENS2-1 NO JMP RENS3 YES RENS6 LDB RENQ 'THEN','GOTO', OR 'GOSUB' JMP RENS2 NOT FOUND * RENS7 CPA USEOP ? STA USFLG YES, SET 'PRINT USING' FLAG SO AS TO SKIP REST OF STMT JMP RENS1 * RENS0 NOP LDA RENP,I GET STMT NUMBER LDB 0 IS THIS LDA 0,I ADB MAXSN A STMT SSB NUMBER OR ADDRESS? JMP RENS0,I NUMBER DON'T CHANGE IT STA RENP,I STUFF IN STMT NUMBER JMP RENS0,I * * MAXSN DEC -10000 INTFL OCT 100003 RENCT DEC -3 RENAD DEF THNOP RENP BSS 1 RENQ BSS 1 RENR BSS 1 USFLG NOP COMMA OCT 102003 PSTIF DEF *+1 THESE THNOP OCT 60000 SIX GOTOP OCT 37000 ITEMS MUST GOSOP OCT 43000 BE CONTIGUOUS RESOP OCT 55000 ** PRTOP OCT 53000 IFOP OCT 40000 OFOP OCT 177003 TRPOP OCT 66000 USEOP OCT 161003 FALOP OCT 57000 CALOP OCT 50000 OPMSK OCT 77000 SKP ***************************************************** * * * READ MNEMONIC TABLE INTO SPACE BETWEEN LONGEST * * SEGMENT AND NEXT TO LONGEST SEGMENT * * * ***************************************************** * LOADM NOP LDA DCBAD SET UP STA DCB DATA CONTROL BLOCK JSB OPENF OPEN **CHANGED 790828** DEF *+7 MNEMONIC DEF DCB,I TABLE DEF FERR FILE DEF MNNAM DEF .0 DEF MNNAM+3 DEF MNNAM+4 JSB CKERR ERROR? LDA FWAMM SET STARTING STA TEMP4 ADDRESS OF MNEMONIC TBL LOAD3 JSB READF READ DEF *+6 DEF DCB,I MNEMONIC DEF FERR DEF TEMP4,I TABLE DEF .9999 INTO CORE DEF TEMP3 LDB TEMP3 CPB M1 EOF READ? JMP LOAD7 YES ADB TEMP4 NO, SET NEW READ STB TEMP4 INDEX * JMP LOAD3 NO, READ SOME MORE LOAD7 JSB CKERR ERROR? JSB CLOSE CLOSE DEF *+4 DEF DCB,I THE DEF FERR DEF .0 FILE JSB CKERR JMP LOADM,I * ********************************** * * * CHECK FOR FILE MANAGER ERROR * * * ********************************** * CKERR NOP LDA FERR IS THERE SSA,RSS AN ERROR? JMP CKERR,I NO! JMP FLERR PRINT ERR MESS SKP * * * MOVE WORDS ROUTINE * * CALLING SEQ IS: A=SOURCE ADDRESS * B=DESTINATION ADDRESS * * (P) JSB MVW * (P+1) COUNT OF WORDS * (P+2) NOP * (P+3) RETURN HERE * MVW NOP STA TEMP4 SAVE SOURCE ADDRS LDA MVW,I GET COUNT CMA,INA AND USE ISZ MVW AS COUNTER STA MVW,I FOR MOVE MVW1 LDA TEMP4,I GET WORD STA 1,I PUT AWAY ISZ TEMP4 INCREMENT SOURCE ADDR INB INCREMENT DESTINATION ADDR ISZ MVW,I INCREMENT COUNTER, DONE? JMP MVW1 NO, NOT YET ISZ MVW YES JMP MVW,I *********************** * * * PRINT ERROR MESSAGE * * * *********************** * * HOLD NOP *800210* DUMMY NOP *800210* PRMES JSB STREN ************REMOVED 790405************** * JSB EXEC RELEASE ANY * DEF *+3 * DEF .5 INVOKE TRACKS * DEF M1 **************************************** *****************************CHANGED 800210**************************** LDA INNAM+1 SZA,RSS ARE THERE ANY INVOKED PROGRAMS JMP PR1 NO LDA INNUM YES, USE FOR COUNTER INA 1ST ONE IN 0 SO GO ONE MORE CMA,INA STA HOLD PR2 JSB PURGE DELETE SCRATCH FILES DEF PR3 DEF FLDCB DEF DUMMY DEF INNAM PR3 ISZ HOLD RSS MORE FILES JMP PR1 LDA INNAM+2 ADA M1 STA INNAM+2 JMP PR2 PR1 CLA STA INNUM CLEAR OUT SCRATCH FILE # 790904** STA INNAM+1 ******************************800210****************************** LDA ERTTY RESET OUTPUT STA LUOUT L.U. # TO ERROR DEVICE LDA TEMP3 GET ERROR # SSA DISK FILE ERROR? JMP FLERR YES! * ADA M1000 IS THIS AN ERROR SSA FROM THE SPECIAL SYNTAX MODULE? JMP PRME1 NO, CONTINUE LDB M1 SPECIAL SYNTAX ERROR FLAG JSB SPEC2 PRINT SPECIAL SYNTAX ERROR JMP PRMS2 PRME1 ADA .1000 RESTORE ERROR NUMBER * CMA,INA MAKE NEGATIVE AND STA LCNTR SAVE FOR COUNTER LDB MESGA SET TABLE PNTR TO START PRMS1 LDA 1,I GET LENGTH OF MESSAGE INB MOVE PNTR TO MESSAGE ISZ LCNTR INDEX ERROR CNTR, IS IT = 0? RSS NO, MOVE PNTR TO NEXT MESSG JMP PRMS2 YES - GO PRINT MESSAGE SLA IF CHAR COUNT ODD, INA MAKE EVEN ARS CONVERT TO WORDS ADB 0 MOVE PNTR TO NEXT MESSG JMP PRMS1 GO INDEX ERROR COUNTER * * DISK FILE ERRORS ARE NEGATIVE AND COME HERE * FLERR LDB FMESA GET ADDR OF DISK ERRORS STA LCNTR SAVE ERROR # FOR COUNT CMA,INA (CHECK FOR >-41 ERROR #) ADA M42 (IF >, THEN POSITIVE RESULT) SSA (TEST) JMP PRMS1 PRINT ERROR MESSAGE ********ADDED 790604********* LDA LCNTR CHECK FOR NO LU OR FILENAME ERROR CPA M2000 ON COMMANDS RSS YES JMP FLER1 NO, PRINT D.RTR MESSAGE LDA LUERL LEN. OF LU/FILENAME ERROR LDB LUERM MESS. OF LU/FILENAME ERROR JMP PRMS2 ***********************ADDED 800318******************************** FLER1 CPA M2001 LOOK FOR SPECIAL ERROR RSS FOUND JMP FLER2 LDA CH80L LDB CH80M JMP PRMS2 FLER2 LDA DRTRL (LENGTH OF MESSAGE FOR >-41 ERROR #) **********************800318**************************************** LDB DRTRM (POINTER TO MESSAGE FOR >-41 ERROR #) * * PRMS2 JSB WRITE PRINT FIRST PART OF MESSAGE LDA .10 INITIALIZE STA OCCNT OUTPUT LDA LNBFA BUFFER STA OTBFA LDA .LNUM OUTPUT SZA,RSS COMMAND ERROR? JMP ERRP2 YES, DON'T PRINT OUT LINE# JSB OUTIN NO! LDA OCCNT LINE LDB ERBFA JSB WRITE NUMBER * LDA TEMP8 IS CHAR SSA,RSS COUNT CMA,INA WITHIN ADA .133 A REASONABLE ***CHG FOR BUG 790928 MM*** SSA RANGE? JMP ERRP1 NO, GO TO MAIN! LDA .INBF YES, MOVE LDB .OTBF BAD STMT JSB MVW FROM INPUT DEC 40 BUFFER TO ***CHG FOR BUG 790928 MM*** NOP OUTPUT BUFFER LDA TEMP8 MAKE CMA STATEMENT STA OCCNT LENGTH POSITIVE LDA PFLAG KEYBOARD SZA,RSS INPUT? JMP ERRP1 YES, EXIT CPA .1 FILE INPUT? RSS YES, PRINT STMT! JMP ERRP1 NO! LDA .OTBF,I ARE FIRST TWO CPA BLNK,I CHARACTERS BLNKS? JMP PRMS3 YES, DON'T INSERT BLANKS LDA .3 OUTPUT LDB BLNK TWO JSB WRITE BLANKS PRMS3 LDA OCCNT REPRINT LDB .OTBF THE JSB WRITE STATEMENT * ERRP1 LDA MNNAM ANY B&M SZA TABLES OUT THERE? JSB LOADM YES! GO GET EM LDA REC# ARE WE FROM CPA .1 A COMMAND FILE? JMP ERRPT NO, RETURN TO MAIN JMP PRMT YES, RETURN TO IT THEN * ERRP2 LDA M2 PRINT LDB CRLF CARRIAGE RETURN/LINE FEED JSB WRITE JMP ERRP1 * 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 LENTH EQU TEMPT+1 TBUFA EQU TEMPT+2 TCNTR EQU TEMPT+3 LCNTR EQU TEMPT+4 DIGCT EQU TEMPT+5 FERR EQU TEMPT+6 SKP *********************** * * * ERROR MESSAGE TABLE * * * *********************** SPC 1 * ERROR MESSAGES FOR SYNTAX (SEG1) PHASE SPC 1 MESGA DEF *+1 ADDRESS OF ERROR STANDARD ERRORS MESSG DEC 17 ASC 9,ILLEGAL EXPONENT_ : DEC 23 ASC 12,NOT A FORTRAN FUNCTION_ : DEC 28 ASC 14,MISSING ASSIGNMENT OPERATOR_ : DEC 22 ASC 11,NOT A SUBROUTINE CALL_ : DEC 29 ASC 15,MISSING OR BAD FUNCTION NAME_ : DEC 31 ASC 16,MISSING OR BAD SIMPLE VARIABLE_ : DEC 27 ASC 14,MISSING OR BAD TRAP NUMBER_ : DEC 26 ASC 13,MISSING OR ILLEGAL 'THEN'_ : DEC 24 ASC 12,MISSING OR ILLEGAL 'OF'_ : DEC 24 ASC 12,MISSING OR ILLEGAL 'TO'_ : DEC 26 ASC 13,MISSING OR ILLEGAL 'STEP'_ : DEC 30 ASC 15,MISSING OR ILLEGAL SUBROUTINE_ : DEC 27 ASC 14,WRONG NUMBER OF PARAMETERS_ : DEC 29 ASC 15,MISSING OR ILLEGAL DATA ITEM_ : DEC 31 ASC 16,ILLEGAL READ OR INPUT VARIABLE_ : DEC 17 ASC 9,NO CLOSING QUOTE_ : DEC 30 ASC 15,MISSING OR BAD LIST DELIMITER_ : DEC 18 ASC 9,ILLEGAL PARAMETER_ : DEC 24 ASC 12,ILLEGAL STRING VARIABLE_ : DEC 21 ASC 11,PARAMETER NOT STRING_ : DEC 29 ASC 15,MISSING OR ILLEGAL SUBSCRIPT_ : DEC 34 ***CHANGED 790820******* **CHANGED 790820** ASC 17,STRING LONGER THAN 132 CHARACTERS_  : **CHANGED 790820** DEC 35 ASC 18,ILLEGAL STRING RELATIONAL OPERATOR_ : DEC 21 ASC 11,STRING NOT PERMITTED_ : DEC 25 ASC 13,MISSING LEFT PARENTHESIS_ : DEC 26 ASC 13,MISSING RIGHT PARENTHESIS_ : DEC 23 ASC 12,UNDECIPHERABLE OPERAND_ : DEC 30 ASC 15,MISSING OR BAD ARRAY VARIABLE_ : DEC 27 ASC 14,ILLEGAL OR MISSING INTEGER_ : DEC 20 ASC 10,SIGN WITHOUT NUMBER_ : DEC 31 ASC 16,CHARACTERS AFTER STATEMENT END_ : DEC 15 ASC 8,OUT OF STORAGE_ : DEC 16 ASC 8,ARRAY TOO LARGE_ : DEC 30 ASC 15,BAD OR MISSING FILE REFERENCE_ : SPC 1 * ERROR MESSAGES FOR PRE-EXECUTION (SEG3) PHASE SPC 1 DEC 27 ASC 14,COM STATEMENT OUT OF ORDER_ : DEC 23 ASC 12,FUNCTION DEFINED TWICE_ : DEC 14 ASC 7,UNMATCHED FOR_ : DEC 26 ASC 13,NEXT WITHOUT MATCHING FOR_ : DEC 26 ASC 13,DIMENSIONS NOT COMPATIBLE_ : DEC 25 ASC 13,LAST STATEMENT NOT 'END'_ : DEC 27 ASC 14,VARIABLE DIMENSIONED TWICE_ : DEC 28 ASC 14,ARRAY OF UNKNOWN DIMENSIONS_ : DEC 16 ASC 8,ARRAY TOO LARGE_ : DEC 15 ASC 8,OUT OF STORAGE_ : DEC 15 ASC 8,TOO MANY FILES_ : DEC 20 **READDED 800208** ASC 10,BAD FILES STATEMENT_ DEC 22 ASC 11,SYMBOL TABLE OVERFLOW_ : DEC 51 **CHANGED 800107** ASC 26,CHAINED/INVOKED PROG. ILLEGAL COMMON OR # OF FILES_ DEC 18 ASC 9,INVALID FILE NAME_ : DEC 22 ***CHANGED 800208***** ASC 11,MUST SPECIFY 0 FOR LU_ **CHANGED 790820*** DEC 17 ASC 9,MISSING SEGMENTS_ : DEC 31 ASC 16,UNDEFINED STATEMENT REFERENCED_ : SPC 1 * ERROR MESSAGES FOR EXECUTE (SEG4) PHASE SPC 1 DEC 15 ASC 8,OUT OF STORAGE_ : DEC 22 ASC 11,GOSUBS NESTED 20 DEEP_ : DEC 27 ASC 14,RETURN WITH NO PRIOR GOSUB_ : DEC 12 ASC 6,OUT OF DATA_ : DEC 16 ASC 8,WRONG DATA TYPE_ : DEC 24 ASC 12,SUBSCRIPT OUT OF BOUNDS_ : DEC 30 ASC 15,REFERENCED STATEMENT NOT DATA_ : DEC 36 ASC 18,STATEMENT REFERENCED NOT IMAGE STMT_ : DEC 39 ASC 20,PRINT 'USING' IS NOT ALLOWED TO A FILE_ : DEC 25 ASC 13,UNDEFINED VALUE ACCESSED_ : DEC 29 ASC 15,NON-EXISTENT FILE REFERENCED_ : DEC 14 ASC 7,FILE NOT OPEN_ : DEC 26 ASC 13,END-OF-FILE/END-OF-RECORD_ : DEC 31 ASC 16,UNDEFINED STATEMENT REFERENCED_ : DEC 9 ASC 5,BAD DATA_ : DEC 13 ASC 7,BAD EXPONENT_ : DEC 37 ASC 19,SUB. OR FUNCT. TERMINATED ABNORMALLY_ : DEC 18 ASC 9,ILLEGAL FILE TYPE_ : DEC 18 ASC 9,OVERLAY NOT FOUND_ : DEC 16 ASC 8,TRAP TABLE FULL_ : DEC 24 ASC 12,ILLEGAL TRAP/SEQ NUMBER_ : DEC 27 ASC 14,SCHEDULED BUT DELETED TASK_ : DEC 16 ASC 8,TRAP TABLE BUSY_ : DEC 23 ASC 12,NEGATIVE STRING LENGTH_ : DEC 22 ASC 11,NON-CONTIGUOUS STRING_ : DEC 16 ASC 8,STRING OVERFLOW_ : DEC 30 ASC 15,NEGATIVE NUMBER TO REAL POWER_ : DEC 19 ASC 10,ZERO TO ZERO POWER_ : DEC 23 ASC 12,ZERO TO NEGATIVE POWER_ : DEC 25 ASC 13,OUT OF RANGE IN FUNCTION_ : DEC 25 ASC 13,LOG OF NEGATIVE ARGUMENT_ : DEC 17 ASC 9,EXP OUT OF RANGE_ : DEC 29 ASC 15,MISSING FORMAT SPECIFICATION_ : DEC 29 ASC 15,ILLEGAL OR MISSING DELIMITER_ : DEC 17 ASC 9,NO CLOSING QUOTE_ : DEC 31 ASC 16,BAD CHARACTER AFTER REPLICATOR_ : DEC 21 ASC 11,REPLICATOR TOO LARGE_ : DEC 16 ASC 8,REPLICATOR ZERO_ : DEC 24 ASC 12,MULTIPLE DECIMAL POINTS_ : DEC 33 ASC 17,BAD FLOATING POINT SPECIFICATION_ : DEC 28 ASC 14,ILLEGAL CHARACTER IN FORMAT_ : DEC 26 ASC 13,ILLEGAL FORMAT FOR STRING_ : DEC 26 ASC 13,MISSING RIGHT PARENTHESIS_ : DEC 19 ASC 10,MISSING REPLICATOR_ : DEC 28 ASC 14,TOO MANY PARENTHESIS LEVELS_ : DEC 25 ASC 13,MISSING LEFT PARENTHESIS_ : DEC 26 ASC 13,ILLEGAL FORMAT FOR NUMBER_ : DEC 34 ASC 17,NOT ENOUGH ID SEGMENTS FOR OVERLAY_ DEC 12 ASC 6,OVERLAY BUSY DEC 20 ASC 10,ILLEGAL TRAP NUMBER_ DEC 17 ASC 9,THERE IS NO TASK_ SPC 1 * ERROR MESSAGES FOR COMMAND (SEG 5) PHASE SPC 1 DEC 15 ASC 8,INVALID COMMAND DEC 14 ASC 7,INVALID LIMITS DEC 17 ASC 9,INVALID FILE NAME DEC 34 ASC 17,NOT ENOUGH ROOM FOR MNEMONIC TABLE DEC 19 ASC 10,DUPLICATE FILE NAME DEC 36 ASC 18,READ FROM WRITE DEVICE OR VICE-VERSA DEC 0 **CHANGED 790828** * ASC 5,INVALID LU **REMOVED 790828** DEC 17 *791227* ASC 9,ILLEGAL FILE SIZE *791227* DEC 19 ASC 10,DEL OR SAVE PROGRAM DEC 20 ASC 10,NO TYPE 0 FILE FOUND DEC 25 ASC 13,INCOMPATIBLE 'CSAVE' FILE DEC 0 **CHANGED 790828** * ASC 11,INVALID SECURITY CODE **REMOVED 790828** DEC 24 ASC 12,INVALID STATEMENT NUMBER DEC 19 ASC 10,ILLEGAL TABLE ORDER DEC 17 ASC 9,ILLEGAL FILE TYPE DEC 44 ASC 22,REQ'D ID SEGMENT NOT FOUND OR NONE AVAILABLE DEC 22 **CHANGED 790905** ASC 11,DUPLICATE PROGRAM NAME * ASC 21,PROGRAM FILE IS NOT ON LOGICAL UNIT 2 OR 3 *790828* DEC 45 ASC 23,PROGRAM FILE WAS NOT SET UP ON CURRENT SYSTEM DEC 22 ASC 11,PROGRAM SCHEDULE ERROR SPC 1 * ERROR MESSAGES FOR COMMAND (SEG 6) PHASE SPC 1 DEC 15 ASC 8,INVALID COMMAND DEC 32 ASC 16,SEQUENCE NUMBER OVERFLOW/OVERLAP DEC 19 ASC 10,BAD SEQUENCE NUMBER DEC 28 ASC 14,LU LOCKED OR NO RN AVAILABLE DEC 27 ASC 14,INVALID LOGICAL UNIT NUMBER DEC 14 ASC 7,INVALID LIMITS DEC 23 ASC 12,MORE THAN 4 BREAKPOINTS DEC 22 ASC 11,BREAKPOINT ALREADY SET DEC 16 ASC 8,NO CALLS DEFINED DEC 28 ASC 14,INCOMPATIBLE CSAVE'D PROGRAM DEC 19 ASC 10,CAN'T EDIT COMMANDS ***************ADD FOR BUG 790928 MM*************** DEC 20 ASC 15,LINE LONGER THAN 80 CHARACTERS *************************************************** SKP * * * ERROR MESSAGES FROM DISC FILE MANAGER-OR REIO WRITE-READ * FMESA DEF *+1 ************************790709*************************** FM01 DEC 10 ASC 5,DISC ERROR FM02 DEC 19 ASC 10,DUPLICATE FILE NAME FM03 DEC 33 ASC 17,BACKSPACE ILLEGAL FOR DEVICE TYPE *FM04 IS SPECIAL MESSAGE FROM MAIN NEAR LABEL KBUF1 IN "REED" *AND NEAR WBUF1 IN "WRITE". FM04 DEC 37 ASC 19,ILLEGAL READ OR WRITE TO LOGICAL UNIT FM05 DEC 12 ASC 6,CORRUPT FILE FM06 DEC 14 ASC 7,FILE NOT FOUND FM07 DEC 22 ASC 11,BAD FILE SECURITY CODE FM08 DEC 49 ASC 25,FILE CURRENTLY OPEN OR EXCLUSIVE OR LOCK REJECTED FM09 DEC 0 *APOSN ATTEMPT ON TYPE 1 OR FORCE TYPE 0 TO 1* FM10 DEC 0 *NOT ENOUGH PARAMETERS FOR CALL* FM11 DEC 12 ASC 6,DCB NOT OPEN FM12 DEC 25 ASC 13,SOF OR EOF READ OR SENSED FM13 DEC 11 ASC 6,DISC LOCKED FM14 DEC 14 ASC 7,DIRECTORY FULL FM15 DEC 12 ASC 6,ILLEGAL NAME FM16 DEC 24 ASC 12,ILLEGAL TYPE OR SIZE = 0 FM17 DEC 31 ASC 16,ILLEGAL READ OR WRITE ON TYPE 0 FM18 DEC 10 ASC 5,ILLEGAL LU FM19 DEC 0 *NOT USED IN L!* ******************************************************** * THESE ARE USED FOR SPOOLING FM20 DEC 0 ILLEGAL ACCESS LU FM21 DEC 0 ILLEGAL DESTINATION LU FM22 DEC 0 NO AVAILABLE SPOOL LU'S FM23 DEC 0 NO AVAILABLE SPOOL FILES FM24 DEC 0 NO MORE BATCH SWITCHES (LU SWITCH TABLE FULL) FM25 DEC 0 NO SPLCON ROOM FM26 DEC 0 QUEUE FULL OR MAX PENDING SPOOLS EXCEEDED ******************************************************** FM27 DEC 0 *NOT USED IN L!* FM28 DEC 0 *NOT USED IN L!* FM29 DEC 0 *NOT USED IN L!* FM30 DEC 0 *NOT USED IN L!* FM31 DEC 0 *NOT USED IN L!* FM32 DEC 24 ASC 12,DISC CARTRIDGE NOT FOUND FM33 DEC 28 ASC 14,NOT ENOUGH ROOM ON CARTRIDGE FM34 DEC 0 *NOT USED IN L!* FM35 DEC 0 *NOT USED IN L!* FM36 DEC 20 ASC 10,LOCK ERROR ON DEVICE FM37 DEC 36 ASC 18,ATTEMPT TO PURGE ACTIVE TYPE 6 FILE FM38 DEC 0 *ILLEGAL SCRATCH FILE NUMBER* FM39 DEC 0 *NOT USED IN L!* FM40 DEC 0 *NOT USED IN L!* FM41 DEC 0 *NOT USED IN L!* **********************************790709*************************** DRTRL DEC 38 DRTRM DEF DRTR1 DRTR1 ASC 19,FILE MANAGER ERROR. SEE BASIC MANUAL. *****************ADDED 790604********************* LUERL DEC 28 LUERM DEF LUER1 LUER1 ASC 14,MUST SPECIFY #LU OR FILENAME ************790604********************************* ***********************ADDED800318************************ CH80L DEC 32 CH80M DEF CH801 CH801 ASC 16,NUMBER OF CHARACTERS EXCEEDS 80 *************************800318***************************** * SKP ***************************** * * PRINT TABLE FOR OPERATORS * * * ***************************** QUOTE OCT 1000 BITS 15-9 OF THE LABELLED WORD ASC 1," COMA OCT 2000 ARE THE BASIC CODE OPERATOR ASC 1,, SMCLN OCT 3000 NUMBERS. BITS 3-0 ARE THE ASC 1,; RPARN OCT 4001 OPERATOR'S HIERARCHICAL ASC 1,) RBRAC OCT 5001 PRECEDENCE FOR THOSE OPERATORS ASC 1,] SCMMA OCT 6002 BELONGING TO FORMULAS. THE ASC 1,, ASSOP OCT 7002 UNLABELLED WORD GIVES THE ASC 1,= PLUS OCT 10007 ASCII REPRESENTATION OF THE ASC 1,+ MINUS OCT 11007 SINGLE CHARACTER OPERATORS. ASC 1,- TIMES OCT 12010 ASC 1,* DIV OCT 13010 ASC 1,/ EXPS OCT 14012 ASC 1,^ GTR OCT 15005 ASC 1,> LSS OCT 16005 ASC 1,< UNEQL OCT 17005 ASC 1,# EQUAL OCT 20005 ASC 1,= UNMIN OCT 21011 ASC 1,- LBRAC OCT 22020 ASC 1,[ LPARN OCT 23020 ASC 1,( UPLUS OCT 24011 ASC 1,+ OROP OCT 25003 MSFLG NOP ANDOP OCT 26004 NOTOP OCT 27011 NOP GTREQ OCT 30005 UFLAG NOP LSSEQ OCT 31005 SKP LET OCT 72003 BITS 15-9 OF THE LABELLED WORD ASC 2,LET DIM OCT 71003 ARE THE BASIC CODE OPERATOR ASC 2,DIM COM OCT 34003 NUMBERS. BITS 2-0 ARE THE ASC 2,COM DEF OCT 35003 LENGTH IN CHARACTERS OF THE ASC 2,DEF REM OCT 36003 SYMBOL. THE ASCII VERSION OF ASC 2,REM GOTO OCT 37004 THE SYMBOL FOLLOWS. ASC 2,GOTO IF OCT 40002 ASC 1,IF FOR OCT 41003 ASC 2,FOR NEXT OCT 42004 ASC 2,NEXT GOSUB OCT 43005 ASC 3,GOSUB RTRN OCT 44006 ASC 3,RETURN END OCT 45003 ASC 2,END STP OCT 46004 ASC 2,STOP WAIT OCT 47004 ASC 2,WAIT CALL OCT 50004 ASC 2,CALL DATA OCT 51004 ASC 2,DATA IMAGE OCT 67005 ASC 3,IMAGE READ OCT 52004 ASC 2,READ PRNT OCT 53005 ASC 3,PRINT INPUT OCT 54005 ASC 3,INPUT RSTOR OCT 55007 ASC 4,RESTORE PAUSE OCT 56005 ASC 3,PAUSE FAIL: OCT 57005 ASC 3,FAIL: THEN OCT 60004 ASC 2,THEN USING OCT 61005 ASC 3,USING ASSNG OCT 62006 ASC 3,ASSIGN FILES OCT 63005 ASC 3,FILES CHAIN OCT 64005 ASC 3,CHAIN TRAP OCT 66004 ASC 2,TRAP INVK OCT 70006 ASC 3,INVOKE #SIGN OCT 73001 ASC 1,# TO OCT 75002 ASC 1,TO STEP OCT 76004 ASC 2,STEP OF OCT 77002 ASC 1,OF NOT OCT 27003 ASC 2,NOT AND OCT 26003 ASC 2,AND OR OCT 25002 ASC 1,OR GTE OCT 30002 ASC 1,>= LTE OCT 31002 ASC 1,<= AUNEQ OCT 17002 ALTERNATE UNEQUAL ASC 1,<> MIN OCT 32003 ASC 2,MIN MAX OCT 33003 ASC 2,MAX END BASC2