/12 INCLUDE OVERLAY 5 FOR MACREL POST V0A / 7-MAR-78 INCLUDED PATCH TO CHECK FOR > AT END OF DECLARATION / 15-AUG-78 FIX BUG RE PRINTING BINARY ON .INCLUDE / 21-AUG-78 MOVED .PUSH AND .POP TO OVRE / ADDED $SECREF .INCLUDE MGLOB.MA .ASECT OVRE,LEVEL=1,OVERLAY=4 / / / / / / / / / /COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / / .EXTERNAL ASEMLV,BACKUP,BRANCH,CREF,CRLF,DPRINT,ENTER,EOS,ERROR,EXPR .EXTERNAL FSCHEK,GETCHR,GETKAR,GETSYM,LETTER,LISTER,LOOKUP,ORIG,OUT,PARSYM .EXTERNAL PASS3,POP,PUSH,PUNBIT,PUTBIT,PUTSYM,PUXBIN,READLN,ROTL6,SCAN .EXTERNAL DVNO,FILENO,FILSAV,CHAINI,INHANDL,LOOKU,INREC,LOOKLN .EXTERNAL INLEN,INHNDL,ENTERR .GLOBAL ER72,ER73,ER74,ER78,ER90,ER91 .GLOBAL $INCLUDE,$CHAIN .GLOBAL $ENTRY,$EXTERNAL,$ZTERNAL,$GLOBAL,$SECREF FIELD 3 *2000 5 /OVERLAY NUMBER / INCLUDE AND CHAIN DIRECTIVES CHNFLG, 0 /1 IF 'CHAIN', 0 IF 'INCLUDE' $CHAIN, CLA IAC $INCLUDE,DCA CHNFLG JMS I QQSCAN /SCAN PAST BLANKS IF ANY CLA IAC JMS I QQPARSYM /GET FILENAME TAD CHAR TAD (-72 /: SZA CLA JMP DISK /ASSUME DISK IF NO DEVICE SPECIFIED TAD NAME3 TAD NAME4 SZA CLA ER72, JMS I QQERROR /DEVICE NAME GT 4 CHARS (TEST FOR . OR EXTENSION?) TAD NAME1 DCA DVN1 TAD NAME2 DCA DVN2 JMS FETCHM /FETCH DEVICE HANDLER BY NAME JMS I QQGETCHR JMS I QQLETTER /IS THERE AN IDENTIFIER AFTER DEVICE? JMP NONAM /NO, ASSUME NON-FILE STRUCTURED CLA IAC /YES, GET FILENAME JMS I QQPARSYM FIL, INCR BNFLAG INCR PCFLAG JMS I QQOUT JMS I QQSCAN JMS I QQEOS /CHECK FOR END-OF-STATEMENT SKP /TEMPORARY BUG IF ; OCCURS AFTER INCLUDE ER78, JMS I QQERROR /INCLUDE MUST BE ON LINE BY ITSELF CDF 10 TAD I (DVNO /GET CURRENT DEVICE FOR OS/8 FILE TAD (7757 DCA TEMP TAD I TEMP /GET DEVICE CONTROL WORD CDF 0 SMA CLA JMP ER91 /DEVICE IS NON-FILE STRUCTURED / CLA IAC /SIMULATE 'NEWFIL' / DCA NEWTIT /WANT TO SET A NEW TITLE (?) / CLA IAC / DCA FORM /WANT TO DO A FORM FEED CDF 10 TAD I (FILENO SPA TAD (-1 SMA DCA I (FILSAV /SAVE FILE NUMBER IF FIRST INCLUDE SMA STA DCA I (FILENO /SET TO -1 IF FIRST INCLUDE CIF CDF 10 JMS I (CHAINI /DO SOME MORE STUFF IN FIELD 1 CDF 10 /CLEAN UP IN FIELD 1 TAD DVN2 DCA I (DVNO /SET UP NEW DEVICE NUMBER TAD DVN3 DCA I (INHNDLR /SET UP NEW INPUT HANDLER ENTRY POINT TAD DVN2 CDF 0 CIF 10 JMS I (LOOKU /LOOK UP FILE CDF 10 DCA I (INREC /SET UP NEW INPUT RECORD NUMBER TAD I (LOOKLN CIA DCA I (INLEN /SET UP NEW INPUT FILE LENGTH CDF 0 JMP I (BYEB DISK, TAD (423 /DO A FETCH ON 'DISK' DCA DVN1 TAD (1300 DCA DVN2 JMS FETCHM JMP FIL NONAM, DCA NAME1 DCA NAME2 JMP FIL /**** HOPE LOOKUP WORKS IN THIS CASE, CHECK FETCHM, 0 TAD (INHAND+1 DCA DVN3 /FETCHES HANDLER BY NAME CIF 10 JMS I (USR 1 /DO A FETCH DVN1, 0 /DEVICE NAME (2 WORDS) DVN2, 0 /BECOMES INTERNAL DEVICE NUMBER DVN3, INHAND+1 /HANDLER BUFFER ADDRESS, RETURNS ENTRY POINT SKP /DEVICE DOESN'T EXIST JMP I FETCHM /RETURN TAD DVN1 /MOVE NAME TO NAME1-3 FOR ERROR MESSAGE PROCESSOR DCA NAME1 TAD DVN2 DCA NAME2 DCA NAME3 ER90, JMS I QQERROR /INCLUDE OR CHAIN DEVICE DOESN'T EXIST JMP I (BYEB /ABORT DIRECTIVE ER91, JMS I QQERROR /TRYING TO DO INCLUDE FROM NON-F-S JMP I (BYEB PAGE $ENTRY, TAD (ENTRYY-EXTRN $EXTERNAL,TAD (EXTRN-ZTRN $ZTERNAL,TAD (ZTRN-GLOB $GLOBAL,TAD (GLOB DCA GLBTYP GLOB4, DCA SECR SKP GLOB2, JMS I QQGETCHR JMS I QQSCAN /IGNORE BLANKS GLOB3, JMS I QQLETTER /IS IT A LETTER? JMP ER74 /NOT A LETTER JMS I QQPARSYM /YES, GET IDENTIFIER JMS I QQLOOKUP /LOOK HIM UP JMS I (ENTERR /ENTER HIM IF NEW JMS I QQGETSYM /GET INFO ON HIM JMS I QQCREF /CREF THE GUY TAD FLAG SNA JMP SETGLB AND QQ77 CIA TAD GLBTYP /CHECK IF PREVIOUSLY DEFINED AS GLOBAL SZA CLA JMP REDEF SETGLB, TAD FLAG AND QQ7770 /PRESERVE OTHER FLAGS TAD GLBTYP /SET NEW TYPE DCA FLAG /WHAT ABOUT DEFINED BIT? TAD SECR SZA DCA SYMVAL /SECREF IS SAME AS EXTERNAL EXCEPT SYMVAL IS 1 JMS I QQPUTSYM /PUT BACK NEW TYPE JMS I QQSCAN /IGNORE SPACES JMS I QQEOS /AT END OF LINE? JMP I (PSEUDB /YES TAD CHAR TAD (-76 SNA CLA JMP I (BYEB TAD CHAR TAD (-54 /CHECK FOR COMMA SNA CLA JMP GLOB2 /GOT COMMA, CHECK FOR NEXT IDENTIFIER ER74, JMS I QQERROR /NOT COMMA JMS I (IGNORE JMP GLOB3 GLBTYP, 0 $SECREF,TAD (EXTRN DCA GLBTYP CLA IAC JMP GLOB4 SECR, 0 /1 IF .SECREF REDEF, TAD FLAG /POSSIBLE REDEFINITION AND QQ77 SZA CLA JMP ER73 /NOT A REGULAR SYMBOL TAD GLBTYP /OKAY TO REDEFINE A REGULAR SYMBOL TAD (-4 /TO GLOBAL OR ENTRY (TYPE 4 OR 5) CLL RAR SZA CLA ER73, JMS I QQERROR /REDEFINITION OF TYPES JMP SETGLB /GIVE ERROR AND ALLOW REDEFINITION PAGE