File MACOPN.MA (MACREL macro assembler source file)

Directory of image this file is from
This file as a plain text file

/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) / <NO OUTPUT-DEVICE RETURN> (AC=0) / <NORMAL RETURN> 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



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search