P3MDS	MACRO M1110  22-AUG-78 01:53  PAGE 3





      1						.TITLE	P3MDS

      2						.IDENT	/24/

      3					                                                                                ;**-1

      4					;

      5					; COPYRIGHT (C) 1976

      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

      7					;

      8					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A

      9					; SINGLE COMPUTER SYSTEM AND MAY  BE  COPIED   ONLY  WITH  THE

     10					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE,  OR

     11					; ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED  OR  OTHERWISE

     12					; MADE AVAILABLE TO ANY OTHER PERSON   EXCEPT FOR  USE ON SUCH

     13					; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE  TERMS.  TITLE

     14					; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL  TIMES  REMAIN

     15					; IN DEC.

     16					;

     17					; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT

     18					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL

     19					; EQUIPMENT CORPORATION.

     20					;

     21					; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF

     22					; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

     23					;

     24					; VERSION 24

     25					;                                                                               ;**-1

     26					; D.N. CUTLER/C. MONIA 15-JAN-74

     27					;

     28					;

     29					;

     30					; MODIFICATIONS

     31					;

     32					; NO.		DATE		PROGRAMMER

     33					; ---		----		----------

     34					;

     35					; 008		16-AUG-73	C. MONIA

     36					; 015		02-OCT-73	C. MONIA

     37					; 016		26-OCT-73	C. MONIA

     38					; 021		15-JAN-74	C. MONIA

     39					; 032		03-JAN-75	C. MONIA                                        ;**NEW**

     40					; 042		29-JUL-75	C. MONIA

     41					; 043		03-OCT-75	C. MONIA

     42					; 048		10-FEB-76	C. MONIA

     43					; 054		27-MAR-76	C. MONIA

     44					; 052		03-APR-76	C. MONIA

     45					; 059		07-APR-76	C. MONIA

     46					; 065		06-JUL-76	J. KASSON

     47					; 071		23-SEP-76	C. MONIA

     48					;

     49					;

     50					;

     51					;

     52					; PHASE 3 MODULE SCAN

     53					;

     54					;

     55					; MACRO LIBRARY CALLS

     56					;

     57

P3MDS	MACRO M1110  22-AUG-78 01:53  PAGE 3-1





     58						.MCALL	BDOFF$

     59

     60					;

     61					; DEFINE FCS BUFFER OFFSETS LOCALLY

     62					;

     63

     64	000000				 	BDOFF$	DEF$L

     65

     66

     67					;

     68					; LOCAL DATA

     69					;

     70

     71

     72					;

     73					; SUBROUTINE TRANSFER VECTORS

     74					;

     75

     76	000000	000000G			$LBFN::	.WORD	$LBFIN		; TERMINAL LIBRARY PROCESSING

     77	000002	000000G			$PRCL::	.WORD	$PRCLM		; ELEMENT PROCESSING

     78

     79					;

     80					; WINDOW INCREMENT FOR VIRTUAL ARRAYS

     81					;

     82

     83	000004				$VSWND::.BLKW	1		;

     84

     85

     86					;

     87					; PHASE 3 FCS BLOCK BUFFER

     88					;

     89

     90	000000					.PSECT	P3B$D,D,OVR,GBL

     91

     92	000000	001020 			$P3BF::	.WORD	S.BFHD+512.	; SIZE OF BUFFER IN BYTES

     93	000002					.BLKB	S.BFHD+512.	; BLOCK BUFFER

     94

     95	000000					.PSECT	P3B$E,D,OVR,GBL

     96

     97	000006					.PSECT

     98

     99						.EVEN

    100

    101					;+

    102					; **-$P3MDS-PHASE 3 MODULE SCAN

    103					;

    104					; THIS ROUTINE IS CALLED TO DO THE PHASE 3 MODULE SCAN OF ALL SEG-

    105					; MENTS IN THE ALLOCATION. AS EACH SEGMENT IS CONSIDERED, THE ELE-

    106					; MENT LIST IS SCANNED. THE SCAN STARTS WITH THE FIRST ELEMENT IN

    107					; THE LIST AND CONTINUES TO THE END OF THE LIST. AS EACH ELEMENT

    108					; IS CONSIDERED, THE SECTION AND SYMBOL TABLES OF THE SEGMENT ARE UP-

    109					; DATED. THE ELEMENT MODULE NAME IS RESOLVED AND THE ELEMENT SECT-

    110					; ION MAPPING TABLE IS CONSTRUCTED.

    111					;

    112					; INPUTS:

    113					;

    114					;	NONE.

P3MDS	MACRO M1110  22-AUG-78 01:53  PAGE 3-2





    115					;

    116					; OUTPUTS:

    117					;

    118					;	NONE.

    119					;-

    120

    121	000006				$P3MDS::			;

    122	000006	005001 				CLR	R1		; SPECIFY ZERO LENGTH BLOCK

    123	000010					CALL	$ALSVB		; INITIALIZE SMALL BLOCK ALLOCATION

    124	000014	012767 	000001 	177762 		MOV	#1,$VSWND	; SETUP WINDOW INCREMENT FOR VIRTUAL ARRAY

    125	000022	016700 	000000G			MOV	$INPPT,R0	; GET INPUT RECORD BLOCK POINTER

    126	000026	012760 	000000'	000000G		MOV	#$P3BF,R$BLKB(R0) ; SET POINTER TO FCS BLOCK BUFFER

    127	000034	005070 	000000G			CLR	@R$NMBK(R0)	; NO NAMEBLOCK TO SETUP

    128	000040					CALL	$STRCB		; SET RECORD BLOCK RESIDENT

    129	000044	012700 	000000G			MOV	#$P3SCN,R0	; GET ADDRESS OF PHASE CONTROL ROUTINE

    130	000050					CALL	$PCTRL		;CALL PHASE CONTROL ROUTINE

    131	000054	005767 	000000G			TST	$MSYMC		;ANY UNDEFINED SYMBOLS?

    132	000060	001427 				BEQ	20$		;IF EQ NO

    133	000062	005767 	000000G			TST	$LIBNM		; DID LIBRARY PARSE/FIND SUCCEED?

    134	000066	001417 				BEQ	10$		; IF EQ NO, COMPLAIN NOW

    135	000070	010667 	000000G			MOV	SP,$WSEXT	; ASSUME ALL CO-TREES SEARCHED?

    136	000074	032767 	000000G	000000G		BIT	#CO$SRC,$SWTCH	; SEACH ALL CO-TREES?

    137	000102	001002 				BNE	5$		; IF NE YES

    138	000104	005067 	000000G			CLR	$WSEXT		; SET TO LIMIT SEARCH

    139	000110				5$:				;

    140	000110	012700 	000000G			MOV	#$P3LBS,R0	; GET ADDRESS OF PHASE CONTROL ROUTINE

    141	000114					CALL	$PCTRL		;CALL PHASE CONTROL ROUTINE

    142	000120	005067 	000000G			CLR	$WSEXT		; SET FLAG TO LIMIT SEARCH

    143	000124	000405 				BR	20$		;

    144	000126				10$:				;

    145	000126	005002 				CLR	R2		; SET DUMMY PARAMETER BLOCK ADDRESS

    146	000130	012701 	000000C			MOV	#<S$V0*400!E$R74>,R1 ; GET ERROR/SEVERITY

    147	000134					CALL	$ERMSG		;OUTPUT ERROR MESSAGE

    148	000140				20$:				;

    149	000140	016700 	000000G			MOV	$INPPT,R0	; GET RECORD BLOCK POINTER

    150	000144	005060 	000000G			CLR	R$BLKB(R0)	; CLEAR BLOCK BUFFER POINTER

    151	000150					RETURN			;

    152

    153		000001 				.END

P3MDS	MACRO M1110  22-AUG-78 01:53  PAGE 3-3

SYMBOL TABLE



B.BBFS= 000010   	FD.OSP= 004000   	F.BKST= 000024   	F.SPUN= 000074   	SPA   = 000040

B.BFST= 000015   	FD.PLC= 000004   	F.BKVB= 000064   	F.STBK= 000036   	S$V0  = ****** GX

B.NXBD= 000012   	FD.PRN= 000004   	F.CHR = 000075   	F.UNIT= 000136   	S.BFHD= 000020

B.VBN = 000004   	FD.PSE= 010000   	F.CNTG= 000034   	F.URBD= 000020   	S.FATT= 000016

CH.AND= 000001   	FD.RAH= 000001   	F.DFNB= 000046   	F.VBN = 000064   	S.FDB = 000140

CO$SRC= ****** GX	FD.RAN= 000002   	F.DSPT= 000044   	F.VBSZ= 000060   	S.FNAM= 000006

CR    = 000015   	FD.REC= 000001   	F.DVNM= 000134   	HT    = 000011   	S.FNB = 000036

E$R74 = ****** GX	FD.RWM= 000001   	F.EFBK= 000010   	LF    = 000012   	S.FNBW= 000017

FA.APD= 000100   	FD.SDI= 000020   	F.EFN = 000050   	NB.DEV= 000200   	S.FNTY= 000004

FA.CRE= 000010   	FD.SQD= 000040   	F.EOBB= 000032   	NB.DIR= 000100   	S.FTYP= 000002

FA.DLK= 001000   	FD.TTY= 000004   	F.ERR = 000052   	NB.NAM= 000004   	S.NFEN= 000020

FA.ENB= 100000   	FD.WBH= 000002   	F.FACC= 000043   	NB.SD1= 000400   	VT    = 000013

FA.EXC= 002000   	FF    = 000014   	F.FFBY= 000014   	NB.SD2= 001000   	$ALSVB= ****** GX

FA.EXT= 000004   	FF.CHR= 000005   	F.FNAM= 000110   	NB.SNM= 000040   	$ERMSG= ****** GX

FA.NSP= 000100   	FF.NV = 000003   	F.FNB = 000102   	NB.STP= 000020   	$INPPT= ****** GX

FA.POS= 010000   	FF.POE= 000002   	F.FTYP= 000116   	NB.SVR= 000010   	$LBFIN= ****** GX

FA.RD = 000001   	FF.RWD= 000001   	F.FVER= 000120   	NB.TYP= 000002   	$LBFN   000000RG

FA.RWD= 004000   	FF.RWF= 000006   	F.HIBK= 000004   	NB.VER= 000001   	$LIBNM= ****** GX

FA.SEQ= 040000   	FF.SPC= 000004   	F.LUN = 000042   	N.DID = 000024   	$MSYMC= ****** GX

FA.SHR= 000040   	FO.APD= 000106   	F.MBCT= 000054   	N.DVNM= 000032   	$PCTRL= ****** GX

FA.TMP= 000020   	FO.MFY= 000002   	F.MBC1= 000055   	N.FID = 000000   	$PRCL   000002RG

FA.WCK= 020000   	FO.RD = 000001   	F.MBFG= 000056   	N.FNAM= 000006   	$PRCLM= ****** GX

FA.WRT= 000002   	FO.UPD= 000006   	F.NRBD= 000024   	N.FTYP= 000014   	$P3BF   000000RG    002

FD.BLK= 000010   	FO.WRT= 000016   	F.NREC= 000030   	N.FVER= 000016   	$P3LBS= ****** GX

FD.CCL= 000002   	F.ACTL= 000076   	F.OVBS= 000030   	N.NEXT= 000022   	$P3MDS  000006RG

FD.COM= 020000   	F.ALOC= 000040   	F.RACC= 000016   	N.STAT= 000020   	$P3SCN= ****** GX

FD.CR = 000002   	F.BBFS= 000062   	F.RATT= 000001   	N.UNIT= 000034   	$STRCB= ****** GX

FD.DIR= 000010   	F.BDB = 000070   	F.RCNM= 000034   	R$BLKB= ****** GX	$SWTCH= ****** GX

FD.FTN= 000001   	F.BGBC= 000057   	F.RCTL= 000017   	R$NMBK= ****** GX	$VSWND  000004RG

FD.F11= 040000   	F.BKDN= 000026   	F.RSIZ= 000002   	R$$11M= 000000   	$WSEXT= ****** GX

FD.INS= 000010   	F.BKDS= 000020   	F.RTYP= 000000   	R.FIX = 000001   	$$    = 000001

FD.ISP= 002000   	F.BKEF= 000050   	F.SEQN= 000100   	R.SEQ = 000003   	...GBL= 000000

FD.MNT= 100000   	F.BKP1= 000051   	F.SPDV= 000072   	R.VAR = 000002   	...TPC= 000140



. ABS.	000000	   000

      	000152	   001

P3B$D 	001022	   002

P3B$E 	000000	   003

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  2280 WORDS  ( 9 PAGES)

DYNAMIC MEMORY:  2772 WORDS  ( 10 PAGES)

ELAPSED TIME:  00:00:16

OBJ$:P3MDS,LIS$:P3MDS/-SP=SRC$:MACFLM,FCSPR,P3MDS

