File FIN0.MA (MACREL macro assembler source file)

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

/14 FIN0.PA CREATES OVRH.SV THE PASS INITIALIZATION OVERLAY	-POST FT 1
	.INCLUDE MGLOB.MA
	.ASECT FIN0,LEVEL=1,OVERLAY=7
/
/
/
/
/
/
/
/
/
/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 IONIT2,LOAD,BRAN,ERKNT,SUBTL,SBTPTR,UNNAM .EXTERNAL IOINIT,LOCOFF,OPEN,OUTBUF,OUTLOC,KFFILE,LOOP .EXTERNAL BLKLET,BINFO,OPENTC,OPTR1,QPUT,LNKCHN .EXTERNAL RBFILE FIELD 3 .GLOBAL ER230 /*** BUG: AINIT USES SBTPTR *2000 RELOC 6400 10 /OVERLAY NUMBER (CAN'T USE AS LIITERAL) NEXTT, CIF CDF 10 JMS I (IONIT2 /INITIALIZE SOME I/O STUFF DCA I L1400 /WIPE OUT PASS-SPECIFIC OVERLAY CLA IAC AND PASS JMS I (LOAD /OTHERWISE OVERLAY 16 L1400, 1400+15 /BRING IN OVERLAY 15 ON ODD PASSES JMS I (LOAD 2000+33 INCR PASS /PROCEED TO NEXT PASS STA /'BRAN' STARTS AT 0 TAD PASS JMS I (BRAN OPEN1 /1 OPEN2 /2 OPEN3 /3 OPEN4 /4 FIN5 /5
IFDEF PLM < / / AINIT / /THIS ROUTINE PERFORMS INITIALIZATION BETWEEN PASSES. /AT THE START OF EACH PASS, WE MUST DO THE FOLLOWING: / /INITIALIZE ALL COROUTINES: / GETRET=PTR TO GETOS / BUFKNT=-1 /DVNO=0 ? /FILSAV=0 ? /CONCNT=0 ? /RESET THE LINE AND PAGE NUMBERING / PAGENO=0 / LINENO=0 / LINEN2=0 /RESET THE SUBTITLE TO ALL BLANKS /TURN OFF ANY QUALIFICATION /RESET ALL ENABLE CONDITIONS TO DEFAULT STATUS / ENABWD=INIENAB / LISTWD=INILST / RADXWD=10 (OCTAL) /RESET ORIGIN IN CASE BEGINS WITH A-SECT / PC=200 / CURFLD=00 /RESET LITERAL POOLS TO INDICATE EMPTY POOLS /PROHIBIT LOCAL SYMBOLS UNTIL FIRST TAG / TURN OFF RELOC /BUMP PHYSICAL PASS NUMBER >
AINIT, 0 DCA CONCNT DCA PAGENO DCA LINENO DCA LINEN2 DCA RELOK DCA I (ERKNT /RESET ERROR COUNT ISZ I (PPASS /BUMP PHYSICAL PASS NUMBER TAD (SUBTL DCA I (SBTPTR DCA QUAL / TAD QQ200 / DCA PC DCA CURFLD TAD QQ200 DCA LITPAG DCA PUNFLG DCA LITSCT JMS I (NITX JMS I (UNNAM /SET UP FOR UNNAMED SECTION / TAD (10 / DCA CSTYPE / DCA HISEK TAD (-SUBLEN DCA KNT /SET SUBTITLE TO BLANKS BETWEEN PASSES TAD (SUBTL-1 DCA XR0 CDF 10 TAD QQ40 DCA I XR0 ISZ KNT JMP .-3 CDF 0 /??? DCA TAGLOC /NO LOCAL SYMBOLS UNTIL FIRST TAG TAD I (INIENAB DCA I (ENABWD DCA I (OLDSCT TAD (10 DCA I (RADXWD /INITIAL RADIX IS OCTAL TAD I (INILST DCA I (LISTWD DCA I (ZSECTN DCA BNFLAG DCA PCFLAG DCA I (MACLEV DCA I (LNKGEN /OTHER INITIAL SWITCHES? *** CIF CDF 10 JMS I (IOINIT JMP I AINIT /*** AT EOF SHOULD CHECK 'CONCNT'
OPEN4, CDF 10 DCA I (LOCOFF TAD SWATOL RTL SMA CLA /WAS /C SPECIFIED? JMP A$ /NO TAD I L7612 /YES SZA CLA /WAS CREF DEVICE GIVEN? JMP A$ /YES CLA IAC /NO DCA I L7612 /MAKE CREF DEVICE 'SYS:' TAD KF /'KF' DCA I (7613 /FILE KREF.TM DCA I (7614 DCA I (7615 TAD (2415 /'TM' DCA I (7616 A$: CDF 0 JMS I (OPEN L7612, 7612 KF, 1306 /.KF EXTENSION OUTBUF -OUTPRS JMP NEXTT /NO CREF FILE CDF 10 TAD I (OUTLOC DCA I (KFFILE /SAVE BLOCK AWAY IN CASE WE WANT TO CHAIN CDF 0 REIT, JMS AINIT JMP I (LOOP PAGE
OPEN1, /SET UP FOR TABLE OF CONTENTS JMS I (OPENTC JMP I (REIT OPEN2, JMS I (OPEN 7600 /1ST OUTPUT FILE 2202 /.RB IS DEFAULT EXTENSION OUTBUF+1 -400 /1 BLOCK BUFFER JMP I (NEXTT /NO BINARY SPECIFIED CDF 10 TAD I (OUTLOC /SAVE STARTING BLOCK NUMBER DCA I (RBFILE /IN CASE WE HAVE TO CHAIN TO IT CDF 0 JMP I (REIT OPEN3, CDF 10 DCA I (LOCOFF CDF 0 /INSTRUCTION FIELD ALREADY SET JMS I (OPEN L7605, 7605 1423 /.LS EXT OUTBUF -OUTPRS JMP I (NEXTT /DEVICE NOT THERE TAD SWATOL /PRINT BLOCK LETTERS RAL /SWITCH 'B' TO SIGN SMA CLA JMP 1$ /NO BLOCK LETTERS IF NO /B DCA NUM TAD WIDTH ISZ NUM /DIVIDE BY 44 TAD (-44 SMA JMP .-3 STA TAD NUM SNA JMP 1$ /NO HEADING IF WIDTH TOO SMALL TAD (-4 SMA STA /MAX OF 3 TAD (4 /RESTORE NUMBER CIA DCA SIZE JMS I (LOAD 2000+21 JMS I (LOAD 2400+34 /LOAD BLOCK LETTER INFO TAD SIZE JMS I (BLKLET JMS I (BINFO TAD SIZE JMS I (BLKLET JMS I (BINFO 1$: JMS CPYTOC /COPY T-OF-C JMP I (REIT
SIZE, CPYTOC, 0 /COPY T-OF-C FROM SCRATCH BLOCKS TO LST DEVICE TAD I (SBTKNT SNA CLA /ANYTHING IN T-OF-C? JMP I CPYTOC /NO CDF 10 TAD I (OPTR1 CDF 0 TAD MOUTBUF SNA CLA JMP 2$ TAD (-OUTCRS-1 DCA CPYCNT JMS I QQLISTER /FORCE DUMPING OF HEADING ISZ CPYCNT JMP .-2 2$: TAD I (TOCSIZ /YES CIA DCA CPYCNT /GET SET TO COPY / TAD (TOCBLK / DCA BLK CPYLUP, JMS I (7607 /READ A BLOCK 210 /TWO PAGES, FIELD 1 OUTBUF BLK, TOCBLK HLT CIF CDF 10 JMS I (QPUT /CALL PUTBUF ISZ BLK ISZ CPYCNT JMP CPYLUP JMP I CPYTOC CPYCNT, 0
FIN5,/ TAD I (ERKNT / SZA CLA ER230, JMS I QQERROR KCC TAD SWATOL AND (1041 /LOOK AT /L AND /G AND /C SWITCHES SNA CLA JMP I L7605 /NON SPECIFIED. DONE. JMS I (LOAD 2000+24 JMP I (LNKCHN
NITX, 0 /EXTENSION TO AINIT DCA CLTLOC DCA ZLTLOC DCA I (EXTPC JMP I NITX MOUTBUF,-OUTBUF PAGE RELOC



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