File OVRE.MA (MACREL macro assembler source file)

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

/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



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