/6 OVERLAY #33 (FIN0 EXTENSION) POST V0A .INCLUDE MGLOB.MA .ASECT MACOPN,LEVEL=2,OVERLAY=12 / / / / / / / / / /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 OUTDEV,CLNAME,OUTLOC,LOCOFF,OUTREC,TXTBLK,HOLSIZ,OUTLST,LSTRET .EXTERNAL OPTR1,OUTKNT,OUTCNT,OUTSIZ,OUTHND,OUTBUF,OUTHAN FIELD 4 .GLOBAL ER216,ER217 .GLOBAL OPEN,OPENTC *2000 33 / JMS OPEN / PTR TO OUTPUT GROUP / DEFAULT EXTENSION / START OF OUTPUT BUFFER / NEGATIVE OF LENGTH OF OUTPUT BUFFER / IN WORDS (FOR BINARY) / IN DOUBLE-WORDS (FOR ASCII) / (AC=0) / OPEN, 0 TAD I OPEN INCR OPEN DCA OPTR TAD I OPEN INCR OPEN DCA OUTEXT /GET DEFAULT OUTPUT EXTENSION TAD I OPEN INCR OPEN DCA OUTB /GET OUTPUT BUFFER START TAD I OPEN INCR OPEN DCA OUTL /GET BUFFER LENGTH CDF 10 TAD I OPTR /GET DEVICE NUMBER SNA /WAS THERE ONE? JMP NOOUT /NO. USER WANTS NO OUTPUT AND (17 /YES. ISOLATE INTERNAL DEVICE # DCA I (OUTDEV /SAVE OUTPUT DEVICE TAD I OPTR /GET ENTRY AGAIN AND (7760 /THIS TIME ISOLATE LENGTH DCA OUTLEN /SAVE CDF 0 JMS I (OFETCH TAD OPTR DCA XR1 /SETUP FOR ENTER CDF 10 TAD I XR1 /MOVE NAME DOWN DCA NAME1 TAD I XR1 DCA NAME2 TAD I XR1 DCA NAME3 ISZ OPTR TAD (NAME1 DCA BLK TAD OPTR CDF 10 DCA I (CLNAME TAD I OPTR /LOOK AT FIRST WORD OF NAME SNA CLA /WAS A NAME SPECIFIED? JMP NONAME /NO, PRESUME DEVICE IS NON-FILE /STRUCTURED TAD OPTR TAD L3 DCA OPTR /POINT TO EXTENSION TAD I OPTR SNA /WAS THERE AN EXTENSION? TAD OUTEXT /NO, FORCE ONE DCA I OPTR /YES, KEEP IT TAD I OPTR DCA NAME4 TAD I (OUTDEV CDF 0 TAD OUTLEN /YES /GET DEVICE # AND LENGTH IN AC CIF 10 JMS I (USR /CALL USER SERVICE ROUTINE L3, 3 /TO DO AN ENTER BLK, 0 /REPLACED BY STARTING BLOCK OF FILE LEN, 0 /REPLACED BY NEGATIVE OF ACTUAL /LENGTH JMP ENTERX /ERROR WHILE TRYING TO PERFORM AN ENTER L, TAD BLK CDF 10 DCA I (OUTLOC /SAVE FIRST BLOCK OF OUTPUT FILE TAD I (OUTLOC TAD I (LOCOFF /ADD IN OPTIONAL OFFSET [USED BY BINARY PASS] DCA I (OUTREC TAD I (OUTREC DCA I (TXTBLK /REMEMBER WHERE TEXT STARTS TAD LEN DCA I (HOLSIZ TAD (OUTLST DCA I (LSTRET TAD OUTB DCA I (OPTR1 INCR OUTB TAD OUTL DCA I (OUTKNT TAD OUTL DCA I (OUTCNT TAD I (LOCOFF /BINARY IS INITIALLY A GIVEN LENGTH /*** BUG: CHECK TO SEE IF HOLE WAS BIG /ENOUGH TO ACCOMODATE LSD (LOCOFF) DCA I (OUTSIZ TAD OUTB DCA I (FLGLOC CLA IAC DCA I OUTB DCA I (LOCOFF /OFFSET USED BUT ONCE INCR OPEN /TAKE NORMAL RETURN NOOUT, CDF 0 JMP I OPEN ENTERX, ER216, IO7, JMS I QQERROR /ENTER ERROR JMP I (7605 /INCLUDES OUTPUTTING TO FILE STRUCTURED DEVICE /BUT SPECIFYING NO NAME NONAME, DCA BLK /DF=10 DCA LEN TAD I (OUTDEV TAD (7757 /POINT TO DCW DCA TEMP /GET DEVICE CONTROL WORD TAD I TEMP CDF 0 SPA CLA /IS DEVICE FILE-STRUCTURED? HLT /YES JMP L /NO OPTR, 0 OUTEXT, 0 OUTB, 0 OUTL, 0 OUTLEN, 0 PAGE OPENTC, 0 /OPEN TABLE OF CONTENTS CDF 10 TAD (-OUTPRS DCA I (OUTKNT /LENGTH TAD (-OUTPRS DCA I (OUTCNT CLA IAC DCA I (OUTDEV /DEVICE SYS: TAD (7607 DCA I (OUTHNDLR /HANDLER LOCATION TAD (TOCBLK DCA I (OUTREC DCA I (OUTSIZ TAD (OUTLST DCA I (LSTRET TAD (OUTBUF DCA I (OPTR1 TAD MTOCLEN DCA I (HOLSIZ CDF 0 / TAD (-TOCLEN / DCA I (LEN JMP I OPENTC OFETCH, 0 /THERE IS ANOTHER COPY OF THIS IN MACIO CDF 10 TAD I (OUTDEV TAD (7646 DCA OTEM2 /POINT INTO DHRT TAD I OTEM2 /GET ENTRY POINT SZA JMP OUT2 /OUT-DEVICE HANDLER IS RESIDENT TAD (OUTHAN+1 DCA OUTENT /SETUP FOR FETCH OF DEVICE HANDLER TAD I (OUTDEV /RETRIEVE OUTPUT DEVICE FILE NUMBER CDF 0 CIF 10 JMS I (USR 1 /FETCH DEVICE HANDLER OUTENT, OUTHAN+1 /LOCATION OF 2-PAGE AREA FOR HANDLER /REPLACED BY HANDLER ENTRY POINT JMP ERRLOD /ERROR LOADING HANDLER CDF 10 TAD OUTENT OUT2, DCA I (OUTHNDLR CDF 0 JMP I OFETCH ERRLOD, ER217, IO10, JMS I QQERROR /ERROR LOADING HANDLER JMP I (7605 OTEM2, 0 MTOCLEN,-TOCLEN PAGE