PASS2	MACRO M1110  21-AUG-78 23:01

TABLE OF CONTENTS



    32-    3	PASS TWO ENTRY POINT MODULE

    32-   22	P2FILI		INITIALIZE FILES FOR PASS 2

PASS2	MACRO M1110  21-AUG-78 23:01  PAGE 26





      1						.IDENT	\X03.11\

      2					;

      3					; COPYRIGHT (C) 1977, 1978

      4					; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASSACHUSETTS 01754

      5					;

      6					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ON A SINGLE

      7					; COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION OF THE

      8					; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

      9					; MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

     10					; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

     11					; TERMS.  TITLE TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES

     12					; REMAIN IN DEC.

     13					;

     14					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

     15					; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT

     16					; CORPORATION.

     17					;

     18					; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS

     19					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

     20					;

     21

     22					;++

     23					; FACILITY:	VAX-11 MACRO OBJECT MODULE LIBRARY "MAR.OLB"

     24					;

     25					; ABSTRACT:	THIS MODULE IS PART OF THE VAX-11 MACRO ASSEMBLER, ITS DESCRIPTION

     26					;		IS ON THE FOLLOWING PAGE.

     27					;

     28					;

     29					; ENVIRNOMENT:	VAX-11 MACRO RUNS ON ANY VAX-11 WITH COMPATIBILITY MODE, UNDER

     30					;		THE CME (COMPATIBILITY MODE EMULATOR) OF VAX/VMS OR ON A PDP-11

     31					;		WITH EXTENDED INSTRUCTIONS UNDER RSX-11/M.

     32					;

     33					; AUTHOR:	STEVE POULSEN, CREATION DATE:  22-JUL-76

     34					;		DALE A. ROEDGER, 10-JAN-77 - 19-DEC-77

     35					;		DAVE N. CUTLER

     36					;		BENN L. SCHREIBER

     37					;

     38					; MODIFIED BY:

     39					;

     40					;--

     41					.IF NDF $DATA$

PASS2	MACRO M1110  21-AUG-78 23:01  PAGE 32





      1					.TITLE	PASS2

      2	000000				.PSECT	PASS2

      3					.SBTTL	PASS TWO ENTRY POINT MODULE

      4

      5						.MCALL	CSI$1,	CSI$2,	CLOSE$

      6

      7					;

      8					;	THIS MODULE IS THE ENTRY POINT FOR PASS TWO OF THE ASSEMBLER.

      9					;

     10	000000				PASS2::

     11	000000	004767 	000042 			JSR	PC,P2FILI			; INITIALIZE FILES FOR PASS 2

     12	000004	012767 	000001 	000000G		MOV	#1,SRCPAG			; START SOURCE PAGES AT 1

     13	000012	012704 	000000G			MOV	#HASHSZ,R4			; LOAD HASH TABLE SIZE

     14	000016	012705 	000000G			MOV	#IDENTB,R5			; HASH TABLE POINTER

     15	000022	004767 	000000G			JSR	PC,ALPHAB			; ALPHABETIZE TABLE

     16	000026	016767 	000000G	000000G		MOV	FRST,IDENTB			; SAVE POINTER

     17	000034	004767 	000000G			JSR	PC,P2DRVR			; CALL PASS 2 DRIVER

     18	000040	004767 	000000G			JSR	PC,LIBDMP			;;; DUMP MACRO LIB. STATS

     19	000044	000207 				RTS	PC				; RETURN TO MAIN DRIVER

     20

     21

     22					.SBTTL	P2FILI		INITIALIZE FILES FOR PASS 2

     23					;

     24					; THIS ROUTINE RESETS THE INPUT POINTERS FOR PASS 2 OF SCANNING

     25					; THE FILES.

     26					;

     27

     28	000046				P2FILI::

     29	000046					SAVAL					; SAVE ALL REGISTERS

     30	000052	012767 	000000G	000000C		MOV	#IO.RVB,INTQIO+Q.IOFN		; SET FUNCTION FOR READ VIRTUAL

     31	000060	012767 	000001 	000000C		MOV	#1,INTQIO+Q.IOPL+10		; POINT TO FIRST VIRTUAL BLOCK

     32	000066	005067 	000000C			CLR	INTQIO+Q.IOPL+6			; OF INTERMEDIATE FILE

     33	000072					CLOSE$	#VAXBLK				; CLOSE INPUT FILE

     34	000102					CLOSE$	#MLBBLK				; CLOSE MACRO LIBRARY

     35	000112	012705 	000000G			MOV	#CSIBLK,R5			; POINT TO CSIBLK

     36	000116					CSI$1	R5				; SCAN COMMAND LINE

     37	000124					CSI$2	R5,OUTPUT,#OBJ.SW		; RESCAN OBJECT SWITCHE

     38	000144	004767 	000000G			JSR	PC,SWSCN			; SCAN SWITCHES

     39	000150	016767 	000000G	000000G		MOV	SPOOLD,SPOOLF			; SET DEFAULT SPOOL SWITCH

     40	000156					CSI$2	R5,OUTPUT,#LST.SW		; RESCAN LISTING SWITCHES

     41	000176	004767 	000000G			JSR	PC,SWSCN			; SCAN SWITCHES

     42	000202	012767 	000001 	000000G		MOV	#CS.INP,C.TYPR+CSIBLK		; WE WANT INPUT FILES

     43	000210	012701 	000000G			MOV	#VAXFIL,R1			; POINT TO INPUT SPECS

     44	000214	012703 	000000G			MOV	#VAXBLK,R3

     45	000220					CSI$2	R5,,#INP.SW			; INPUT SWITCH LIST

     46	000234	032765 	000000G	000024 		BIT	#SWM.ML,C.MKW1(R5)		; MACRO LIBRARY?

     47	000242	001402 				BEQ	30$				; NOPE

     48	000244	012701 	000000G			MOV	#MLBFIL,R1			; POINT TO DIFFERENT DFNB

     49	000250	004767 	000000G		30$:	JSR	PC,OPENIT			; OPEN INPUT FILE

     50	000254	004767 	000000G			JSR	PC,SWSCN			; SCAN SWITCHES

     51	000260	000207 				RTS	PC				; RETURN THRU CO-ROUTINE

     52

     53		000001 			.END

PASS2	MACRO M1110  21-AUG-78 23:01  PAGE 32-1

SYMBOL TABLE



ALPHAB= ****** GX	C.STAT= 000001   	M.END = 000012   	R7    =%000007   	S.EXTN= 010000

BLNK  = 000040   	C.SWAD= 000022   	M.GETL= 000004   	SEMI  = 000073   	S.GLOB= 020000

COMMA = 000054   	C.TYPR= 000000   	M.IFLV= 000006   	SPACE = 000040   	S.LOCL= 001000

CR    = 000015   	FF    = 000014   	M.IFVL= 000010   	SPOOLD= ****** GX	S.ODBG= 000040

CSIBLK= ****** GX	FRST  = ****** GX	M.LINK= 000000   	SPOOLF= ****** GX	S.REF = 000400

CS.DIF= 000002   	HASHSZ= ****** GX	M.NXTL= 000002   	SRCPAG= ****** GX	S.TKMS= 000377

CS.DVF= 000004   	IDENTB= ****** GX	OBJ.SW= ****** GX	SWM.ML= ****** GX	S.WEAK= 040000

CS.EQU= 000040   	IIII  = 177777   	OPENIT= ****** GX	SWSCN = ****** GX	TAB   = 000011

CS.INP= 000001   	INP.SW= ****** GX	PAR$$$= 000005   	SYMCHR= 000012   	VAXBLK= ****** GX

CS.MOR= 000020   	INTQIO= ****** GX	PASS2   000000RG    002	SYMFLA= 000002   	VAXFIL= ****** GX

CS.NMF= 000001   	IO.RVB= ****** GX	PSECCH= 000020   	SYMLEN= 000011   	$DIDDO= 000000

CS.OUT= 000002   	LF    = 000012   	PSECOP= 000016   	SYMLIN= 000000   	$L    = 000000

CS.WLD= 000010   	LFTANG= 000074   	PSECV1= 000012   	SYMMAX= 000017   	$LL   = 000000

C.CMLD= 000002   	LIBDMP= ****** GX	PSECV2= 000014   	SYMSEG= 000010   	$L$   = 000000

C.DEVD= 000006   	LOWCAS= 000140   	P2DRVR= ****** GX	SYMVL1= 000004   	$R    = 177777

C.DIRD= 000012   	LPTLEN= 000074   	P2FILI  000046RG    002	SYMVL2= 000006   	$T    = 000000

C.DSDS= 000006   	LST.SW= ****** GX	Q.IOFN= ****** GX	S.ABS = 004000   	.CLOSE= ****** G

C.FILD= 000016   	MLBBLK= ****** GX	Q.IOPL= ****** GX	S.ASN = 000200   	.CSI1 = ****** G

C.MKW1= 000024   	MLBFIL= ****** GX	RGTANG= 000076   	S.DBG = 002000   	.CSI2 = ****** G

C.MKW2= 000026   	M.ARGC= 000014   	RTNVAL=%000000   	S.DF  = 100000   	.SAVAL= ****** GX

C.SIZE= 000054   	M.ARGS= 000016   	R6    =%000006   	S.EPT = 000100



. ABS.	000000	   000

      	000000	   001

PASS2 	000262	   002

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  12227 WORDS  ( 48 PAGES)

DYNAMIC MEMORY:  13332 WORDS  ( 51 PAGES)

ELAPSED TIME:  00:00:29

OBJ$:PASS2,LIS$:PASS2/-SP=SRC$:MD,COMMON,PASS2

