Google
 

Trailing-Edge - PDP-10 Archives - bb-x141b-bb - mount.lst
There are 2 other files named mount.lst in the archive. Click here to see a list.
RSXDC	MACRO M1113  14-APR-81 09:21  PAGE 3


      1					;                             COPYRIGHT (C) 1975, 1978 BY
      2					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      3					;
      4					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
      5					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
      6					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
      7					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
      8					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
      9					;
     10					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     11					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     12					;       CORPORATION.
     13					;
     14					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     15					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 6


      1						.TITLE	MOUNT	D0222, MOUNT VOLUME
						.IDENT	"D0222"
      2
      3					;                             COPYRIGHT (C) 1974, 1978 BY
      4					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      5					;
      6					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
      7					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
      8					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
      9					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     10					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     11					;
     12					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     13					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     14					;       CORPORATION.
     15					;
     16					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     17					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     18					;
     19					;
     20					;
					; VERSION D222, ASSEMBLED FOR RSX-11D
					;
     21
     22					; ANDREW C. GOLDSTEIN  11 DEC 74  14:34
     23					;
     24					; THIS ROUTINE MOUNTS A VOLUME FOR FILE PROCESSING.
     25
     26						.MCALL	QIOW$,FHDOF$,HMBOF$
     27	000000					FHDOF$			; DEFINE FILE HEADER AND HOME BLOCK OFFSETS
     28	000000					HMBOF$
     29
     30					; MACRO TO CALL QIO SUBROUTINE
     31
     32					.MACRO	QIO	DPB
     33						JSR	R5,.MXQIO
     34						.WORD	DPB
     35					.ENDM	QIO
     36
     37					; MACRO TO SIGNAL ERRORS
     38
     39					.MACRO	ERROR	CODE
     40						.IF	NB,CODE
     41						MOV	#CODE,.IOSTS+2
     42						ERRX	IE.ABO
     43						.IFF
     44						MOVB	.QIOST,.IOSTS
     45						ERRX
     46						.ENDC
     47					.ENDM	ERROR
     48
     49					; ERROR CODES RETURNED TO THE MOUNT TASK WITH AN "IE.ABO" ERROR.
     50					; THESE CODES INDEX INTO A TABLE AND THE VALUES ARE CRITICAL. SORRY.
     51
     52		000007 			ME.SYN = 7.			; SYNTAX ERROR
     53		000012 			ME.NHM = 10.			; HOME BLOCK NOT FOUND
     54		000013 			ME.WRV = 11.			; WRONG VOLUME
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 6-1


     55
     56					; LOCALLY USED DPB'S
     57
     58					; SET CHARACTERISTICS
     59
     60	000000				SETCHA:	QIOW$	IO.STC,FCPLUN,QIOEFN,,.QIOST,,<0>
     61
     62					; READ LOGICAL BLOCK
     63
     64	000016				RLB:	QIOW$	IO.RLB,FCPLUN,QIOEFN,,.QIOST,,<.HDBUF,.VBSIZ,,0,0>
     65		000040'			LBNH=	RLB+Q.IOPL+6		; HIGH ORDER BLOCK NUMBER
     66		000042'			LBNL=	RLB+Q.IOPL+10		; LOW ORDER BLOCK NUMBER
     67
     68					; BUFFER TO RECEIVE MOUNT COMMAND
     69
     70		001000 			CMDBFL = 512.			; SIZE OF BUFFER
     71
     72					; VALUES RETURNED FROM THE COMMAND STRING PARSER
     73
     74	000044				$VNML::	.BLKW	1		; STRING DESCRIPTOR OF VOLUME LABEL
     75	000046				$VNAM::	.BLKW	1		; IN COMMAND STRING
     76	000050				$UIC::	.BLKW	1		; VOLUME OWNER
     77	000052				$CHAR::	.BLKW	1		; VOLUME CHARACTERISTICS
     78	000054				$PRO::	.BLKW	1		; VOLUME PROTECTION
     79	000056				$EXT::	.BLKW	1		; DEFAULT FILE EXTEND
     80	000060				$FPRO::	.BLKW	1		; DEFAULT FILE PROTECTION
     81	000062				$WIN::	.BLKB	1		; DEFAULT WINDOW SIZE
     82	000063				$LRU::	.BLKB	1		; MAX ENTRIES IN DIRECTORY LRU
     83	000064				$FLAGS::.BLKW	1		; FLAG WORD FROM PARSER
     84
     85					; THE FOLLOWING FLAGS ARE RETURNED:
     86
     87		000001 			MO.UIC==1			; EXPLICIT UIC
     88		000002 			MO.CHA==2			; EXPLICIT CHARACTERISTICS
     89		000004 			MO.PRO==4			; EXPLICIT PROTECTION
     90		000010 			MO.UNL==10			; UNLOCK INDEX FILE
     91		000020 			MO.EXT==20			; DEFAULT FILE EXTEND SPECIFIED
     92		000040 			MO.FPR==40			; DEFAULT FILE PROTECTION SPECIFIED
     93		000100 			MO.WIN==100			; DEFAULT WINDOW SIZE SPECIFIED
     94		000200 			MO.OVR==200			; OVERRIDE VOLUME LABEL CHECK
     95		000400 			MO.SWL==400			; SOFTWARE WRITE LOCK
     96		001000 			MO.LRU==1000			; DIRECTORY LRU LIMIT SPECIFIED
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 7


     98					;+
     99					;
    100					; **.MOUNT - MOUNT VOLUME
    101					;
    102					; THIS ROUTINE ESTABLISHES THAT A VOLUME IS OF LEGAL FILES-11 FORMAT
    103					; AND CREATES THE IN CORE DATA STRUCTURES NEEDED FOR SUBSEQUENT
    104					; FILE OPERATIONS ON THAT VOLUME. IT FINDS THE VOLUME'S HOME BLOCK,
    105					; VERIFIES THE VOLUME LABEL, AND CONSTRUCTS THE VCB AND THE FCB AND
    106					; WINDOW FOR THE INDEX FILE. FINALLY OPTIONS AS SPECIFIED IN THE
    107					; COMMAND STRING ARE APPLIED TO THE VCB.
    108					;
    109					; INPUTS:
    110					;
    111					;	R0=ADDRESS OF USER STRING POINTER
    112					;	R2=BYTE COUNT OF COMMAND STRING
    113					;	R5=ADDRESS OF MOUNT I/O PACKET
    114					;
    115					; OUTPUTS:
    116					;
    117					;	R4=VCB ADDRESS
    118					;	R5=I/O PACKET ADDRESS
    119					;
    120					; OTHER REGISTERS ARE CLOBBERED.
    121					;
    122					;-
    123
    124	000066				.MOUNT::
    125	000066	005067 	177772 			CLR	$FLAGS		; CLEAN OUT FLAGS WORD
    126	000072	005067 	000000G			CLR	.SMUCB		; INVALIDATE BIT MAP BUFFER
    127	000076	010203 				MOV	R2,R3		; SAVE STRING COUNT
    128	000100	012701 	000000G			MOV	#.SMBUF,R1	; POINT TO COMMAND BUFFER
    129	000104	010104 				MOV	R1,R4		; SAVE STRING ADDRESS
    130	000106					CALL	.BLXI		; TRANSFER IN COMMAND STRING
    131	000112	005001 				CLR	R1		; SET SPACE FLUSH OPTION
    132	000114	012702 	000000G			MOV	#.MOKTB,R2	; POINT TO KEYWORD TABLE
    133	000120	012705 	000000G			MOV	#.MOPRS,R5	; POINT TO STARTING STATE
    134	000124					CALL	.TPARS		; AND PARSE THE COMMAND STRING
    135	000130	103004 				BCC	10$
    136	000132					ERROR	ME.SYN		; SYNTAX ERROR
	000140	   000C	   211 			TRAP	-IE.ABO		;
    137
    138	000142	016704 	000000G		10$:	MOV	.UCBAD,R4	; GET PUD ADDRESS AGAIN
    139	000146	005764 	000000G			TST	U.VA(R4)		;VOLUME ALREADY MOUNTED?
    140	000152	001404 				BEQ	12$		;NO -- CONTINUE
    141	000154					ERROR	12.
	000162	   000C	   211 			TRAP	-IE.ABO		;
    142	000164	016705 	000000G		12$:	MOV	.IOPKT,R5	; AND I/O PACKET ADDRESS
    143	000170					QIO	SETCHA		; DO SET CHARACTERISTICS TO SET VOLUME VALID (ON RP04)
    144	000176	103010 				BCC	20$
    145	000200	126727 	000000G	000000G		CMPB	.QIOST,#IE.IFC	; CHECK FOR ILLEGAL FUNCTION
    146	000206	001404 				BEQ	20$		; YES, IGNORE (MUST NOT BE AN RP04)
    147	000210					ERROR			; SOME OTHER TYPE OF ERROR
	000216	104400 				TRAP	0		;
    148
    149					; FIRST SEARCH FOR THE HOME BLOCK
    150
    151	000220	012767 	000001 	177614 	20$:	MOV	#1,LBNL		; SET UP FIRST CHOICE LOCATION
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 7-1


    152	000226	005067 	177606 			CLR	LBNH		; I.E., LBN = 1
    153	000232				30$:	QIO	RLB		; READ THE BLOCK
    154	000240	103430 				BCS	40$		; CHECK ON I/O ERROR
    155	000242	012701 	000000G			MOV	#.HDBUF,R1	; POINT TO BLOCK BUFFER
    156	000246	012702 	000034 			MOV	#H.CHK1/2-1,R2	; GET WORD COUNT TO FIRST CHECKSUM
    157	000252					CALL	.CKSM1		; CHECK THE CHECKSUM
    158	000256	103431 				BCS	50$		; NO GOOD - PUNT THIS BLOCK
    159	000260	012701 	000000G			MOV	#.HDBUF,R1	; POINT TO BUFFER AGAIN
    160	000264					CALL	.CKSUM		; COMPUTE SECOND CHECKSUM
    161	000270	103424 				BCS	50$		; OUT ON ERROR
    162	000272	005767 	000000G			TST	.HDBUF+H.IBSZ	; CHECK INDEX FILE BITMAP SIZE
    163	000276	001421 				BEQ	50$		; MUST BE NON-ZERO
    164	000300	016700 	000002G			MOV	.HDBUF+H.IBLB,R0 ; CHECK INDEX FILE BITMAP LBN
    165	000304	056700 	000004G			BIS	.HDBUF+H.IBLB+2,R0
    166	000310	001414 				BEQ	50$		; MUST BE NON-ZERO
    167	000312	005767 	000006G			TST	.HDBUF+H.FMAX	; CHECK MAX NUMBER OF FILES
    168	000316	001411 				BEQ	50$		; MUST BE NON-ZERO
    169	000320	000441 				BR	HOMEBL		; YES - A REAL LIVE HOME BLOCK!
    170
    171					; WE GET HERE ON ANY I/O ERROR READING THE HOME BLOCK
    172
    173	000322	126727 	000000G	000000G	40$:	CMPB	.QIOST,#IE.VER	; TEST FOR PARITY ERROR
    174	000330	001404 				BEQ	50$
    175	000332					ERROR			; GIVE UP ON ANYTHING ELSE
	000340	104400 				TRAP	0		;
    176
    177					; THIS BLOCK IS NOT A HOME BLOCK, EITHER BECAUSE IT HAS BAD PARITY
    178					; OR THE CHECKSUMS ARE NOT THERE.
    179
    180	000342	042767 	000001 	177472 	50$:	BIC	#1,LBNL		; TRY THE NEXT BLOCK IN SEQUENCE
    181	000350	062767 	000400 	177464 		ADD	#400,LBNL	; OF 1, 400, 1000, 1400, 2000, 2400 ....
    182	000356	005567 	177456 			ADC	LBNH
    183	000362	026764 	177452 	000000G		CMP	LBNH,U.LBH(R4)	; CHECK LBN AGAINST VOLUME SIZE
    184	000370	103720 				BLO	30$		; OK - TRY IT
    185	000372	001404 				BEQ	60$
    186	000374					ERROR	ME.NHM		; IF WE'RE OVER THERE IS NO HOME BLOCK
	000402	   000C	   211 			TRAP	-IE.ABO		;
    187	000404	026764 	177432 	000000G	60$:	CMP	LBNL,U.LBN(R4)	; CHECK LOW ORDER
    188	000412	103707 				BLO	30$
    189	000414					ERROR	ME.NHM		; OVER THE TOP - OUT
	000422	   000C	   211 			TRAP	-IE.ABO		;
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 8


    191					; WE HAVE FOUND THE HOME BLOCK. FILL IN THE RELEVANT INFORMATION IN THE
    192					; PUD FROM THE VOLUME.
    193
    194	000424	036727 	177434 	000200 	HOMEBL:	BIT	$FLAGS,#MO.OVR	; CHECK FOR OVERRIDE BIT
    195	000432	001034 				BNE	50$		; YES - SKIP LABEL CHECK
    196	000434	016700 	177406 			MOV	$VNAM,R0	; POINT TO LABEL IN COMMAND LINE
    197	000440	012702 	000016G			MOV	#.HDBUF+H.VNAM,R2 ; POINT TO VOLUME LABEL IN HOME BLOCK
    198	000444	016701 	177374 			MOV	$VNML,R1	; GET LENGTH OF VOL LABEL IN COMMAND LINE
    199	000450	001417 				BEQ	40$		; SKIP CHECK IF NONE GIVEN
    200	000452	122022 			10$:	CMPB	(R0)+,(R2)+	; COMPARE VOLUME LABELS
    201	000454	001404 				BEQ	20$
    202	000456					ERROR	ME.WRV		; OUT ON MISMATCH
	000464	   000C	   211 			TRAP	-IE.ABO		;
    203	000466	077107 			20$:	SOB	R1,10$
    204
    205	000470	020227 	000032G			CMP	R2,#.HDBUF+H.VNAM+12. ; SEE IF LABEL WAS 12 CHARS LONG
    206	000474	101404 				BLOS	30$
    207	000476					ERROR	ME.WRV		; OVER 12 - CAN'T BE RIGHT
	000504	   000C	   211 			TRAP	-IE.ABO		;
    208	000506	001406 			30$:	BEQ	50$		; EQUAL - SKIP END CHECK
    209	000510	105712 			40$:	TSTB	(R2)		; CHECK NEXT BYTE IN HOME BLOCK
    210	000512	001404 				BEQ	50$
    211	000514					ERROR	ME.WRV		; NONZERO MEANS LABEL STRING WAS TOO SHORT
	000522	   000C	   211 			TRAP	-IE.ABO		;
    212
    213	000524	005064 	000000G		50$:	CLR	U.AR(R4)		; INIT VOLUME PROTECTION
    214	000530	016764 	000036G	000000G		MOV	.HDBUF+H.VOWN,U.UI(R4)	; VOLUME OWNER UIC
    215	000536	001403 				BEQ	60$			; VOLUME IS UNOWNED
    216	000540	016764 	000040G	000000G		MOV	.HDBUF+H.VPRO,U.AR(R4)	; VOLUME PROTECTION
    217	000546	116764 	000042G	000000G	60$:	MOVB	.HDBUF+H.VCHA,U.CH(R4)	; VOLUME CHARACTERISTICS
    218
    219	000554	042764 	000000G	000000G		BIC	#UC.SWL,U.C1(R4)	; CLEAR SOFTWARE WRITE LOCK BIT
    220	000562	036727 	177276 	000400 		BIT	$FLAGS,#MO.SWL		; SEE IF WRITE LOCK IS REQUESTED
    221	000570	001403 				BEQ	70$			; NO
    222	000572	052764 	000000G	000000G		BIS	#UC.SWL,U.C1(R4)	; YES - SET IT
    223
    224					; NOW ALLOCATE A VCB, CHARGING IT TO THE FILES TASK.
    225
    226	000600	016702 	000000G		70$:	MOV	.CRTSK,R2	; GET OUR ATL ADDR
    227	000604	016202 	000000G			MOV	A.TD(R2),R2	; GET STD ADDR
    228	000610	012701 	000056 			MOV	#V.LGTH,R1	; GET LENGTH OF VCB
    229	000614					CALL	.ALLOC		; AND ALLOCATE IT
    230	000620	010064 	000000G			MOV	R0,U.VA(R4)	; PUT VCB POINTER IN PUD
    231	000624	010004 				MOV	R0,R4		; SET STANDARD VCB POINTER
    232
    233					; FILL IN INFORMATION FROM THE VOLUME'S HOME BLOCK
    234
    235	000626	012701 	000016G			MOV	#.HDBUF+H.VNAM,R1 ; POINT TO VOLUME NAME AGAIN
    236	000632	062700 	000040 			ADD	#V.LABL,R0	; POINT TO LABEL SPACE IN VCB
    237	000636	012702 	000014 			MOV	#12.,R2		; BYTE COUNT
    238	000642	112120 			80$:	MOVB	(R1)+,(R0)+	; COPY VOLUME LABEL TO VCB
    239	000644	077202 				SOB	R2,80$
    240
    241	000646					ASSUME	V.IBSZ,V.IBLB+1
    242	000646					ASSUME	V.FMAX,V.IBLB+4
    243	000646					ASSUME	V.WISZ,V.FMAX+2
    244	000646					ASSUME	V.SBCL,V.WISZ+1
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 8-1


    245
    246	000646	010400 				MOV	R4,R0		; COPY VCB POINTER
    247	000650	062700 	000012 			ADD	#V.IBLB,R0	; POINT INTO VCB
    248	000654	116720 	000002G			MOVB	.HDBUF+H.IBLB,(R0)+	; STARTING LBN OF INDEX FILE BIT MAP, HIGH
    249	000660	116720 	000000G			MOVB	.HDBUF+H.IBSZ,(R0)+	; NUMBER OF BLOCKS IN INDEX FILE BITMAP
    250	000664	016720 	000004G			MOV	.HDBUF+H.IBLB+2,(R0)+	; LBN OF INDEX FILE BIT MAP, LOW ORDER
    251	000670	016720 	000006G			MOV	.HDBUF+H.FMAX,(R0)+	; MAXIMUM NUMBER OF FILES ON VOLUME
    252	000674	116710 	000054G			MOVB	.HDBUF+H.WISZ,(R0)	; DEFAULT WINDOW SIZE
    253	000700	001010 				BNE	90$			; BRANCH IF OK
    254	000702	112710 	000011 			MOVB	#9.,(R0)		; OLD VOLUME - USE DEFAULT
    255	000706	112767 	000005 	000055G		MOVB	#.DFEXT,.HDBUF+H.FIEX	; STUFF VOLUME'S DEFAULT FILE EXTEND
    256	000714	112767 	164000 	000044G		MOVB	#.DFPRO,.HDBUF+H.FPRO	; AND DEFAULT FILE PROTECTION
    257	000722	036727 	177136 	000100 	90$:	BIT	$FLAGS,#MO.WIN		; CHECK FOR EXPLICIT WINDOW SIZE
    258	000730	001402 				BEQ	100$			; NO
    259	000732	116710 	177124 			MOVB	$WIN,(R0)		; YES - PUT IN VCB
    260	000736	005200 			100$:	INC	R0
    261	000740	116720 	000010G			MOVB	.HDBUF+H.SBCL,(R0)+	; STORAGE BIT MAP CLUSTER FACTOR
    262	000744	116764 	000055G	000025 		MOVB	.HDBUF+H.FIEX,V.FIEX(R4) ; DEFAULT FILE EXTEND INCREMENT
    263	000752	016764 	000044G	000030 	 	MOV	.HDBUF+H.FPRO,V.FPRO(R4) ; DEFAULT FILE PROTECTION
    264	000760	116764 	000056G	000035 		MOVB	.HDBUF+H.LRUC,V.LRUC(R4) ; COUNT OF ENTRIES IN DIRECTORY LRU
    265	000766	001003 				BNE	110$
    266	000770	112764 	000003 	000035 		MOVB	#3,V.LRUC(R4)	; DEFAULT OLD VOLUMES TO 3
    267
    268					; NOW READ THE INDEX FILE HEADER AND "ACCESS" THE INDEX FILE, BUILDING
    269					; AN FCB AND WINDOW.
    270
    271	000776	116403 	000013 		110$:	MOVB	V.IBSZ(R4),R3	; GET NUMBER OF BLOCKS IN INDEX FILE BITMAP
    272	001002	005002 				CLR	R2
    273	001004	156402 	000012 			BISB	V.IBLB(R4),R2	; ADD IN START OF BITMAP
    274	001010	066403 	000014 			ADD	V.IBLB+2(R4),R3
    275	001014	005502 				ADC	R2		; TO COMPUTE INDEX FILE HEADER LBN
    276	001016	012700 	000001 			MOV	#1,R0		; SET FILE NUMBER = 1
    277	001022	010067 	000000G			MOV	R0,.FILNO
    278	001026	010067 	000000G			MOV	R0,.FILSQ
    279	001032					CALL	.RHDLB		; READ THE HEADER
    280
    281	001036					CALL	.CRFCB		; GET AN FCB FOR INDEX FILE
    282	001042	010067 	000000G			MOV	R0,.FCBAD	; STORE FCB ADDRESS
    283	001046	005000 				CLR	R0		; INDICATE READ ACCESS
    284	001050					CALL	.INWIN		; AND SET UP A WINDOW
    285	001054	016700 	000000G			MOV	.FCBAD,R0	; GET FCB ADDRESS
    286	001060	036727 	177000 	000010 		BIT	$FLAGS,#MO.UNL	; SEE IF UNLOCK REQUESTED
    287	001066	001005 				BNE	120$		; YES
    288	001070					ASSUME	W.CTL,0
    289	001070	052777 	004000 	000000G		BIS	#WI.LCK,@.WNDOW	; ELSE SET LOCK BIT
    290	001076	105260 	000037 			INCB	F.NLCK(R0)	; AND BUMP LOCK COUNT IN FCB
    291	001102	105260 	000036 		120$:	INCB	F.NACS(R0)	; BUMP ACCESS COUNT IN FCB
    292
    293	001106	010064 	000006 			MOV	R0,V.FCB(R4)	; INIT VOLUME'S FCB CHAIN
    294	001112	010064 	000010 			MOV	R0,V.FCB+2(R4)
    295	001116	016764 	000000G	000002 		MOV	.WNDOW,V.IFWI(R4) ; SET INDEX FILE WINDOW ADDR IN VCB
    296	001124					ASSUME	V.TRCT,0
    297	001124	005214 				INC	(R4)		; BUMP TRANSACTION COUNT TO 1
    298
    299					; NOW READ THE STORAGE BITMAP FILE HEADER AND INIT ITS PARAMETERS IN THE
    300					; VCB.
    301
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 8-2


    302	001126	005067 	000000G			CLR	.FCBAD		; CLEAN OUT CONTEXT
    303	001132	005067 	000000G			CLR	.WNDOW
    304	001136	012700 	000002 			MOV	#2,R0		; INDICATE FILE NUMBER 2
    305	001142					CALL	.RHDFN		; READ HEADER BY FILE NUMBER
    306	001146	005000 				CLR	R0
    307	001150	156700 	000001G			BISB	.HDBUF+H.MPOF,R0 ; GET MAP AREA OFFSET
    308	001154	006300 				ASL	R0
    309	001156	062700 	000012G			ADD	#.HDBUF+M.RTRV,R0 ; POINT TO RETRIEVAL POINTERS
    310	001162	112064 	000024 			MOVB	(R0)+,V.SBLB(R4) ; GET HIGH ORDER LBN
    311	001166	112001 				MOVB	(R0)+,R1	; GET BLOCK COUNT
    312	001170	001003 				BNE	130$		; IF NON-ZERO, COUNT IS GOOD
    313	001172	116001 	000003 			MOVB	3(R0),R1	; ELSE GET COUNT FROM NEXT POINTER
    314	001176	105201 				INCB	R1		; MAKE TRUE BLOCK COUNT
    315	001200	110164 	000022 		130$:	MOVB	R1,V.SBSZ(R4)	; PUT BLOCK COUNT IN VCB
    316	001204	012064 	000026 			MOV	(R0)+,V.SBLB+2(R4) ; GET LOW ORDER LBN
    317
    318					; SCAN THE STORAGE BITMAP TO DETERMINE THE NUMBER OF FREE BLOCKS ON THE VOLUME
    319
    320	001210	010146 				MOV	R1,-(SP)	; GET BLOCK COUNT
    321	001212	005003 				CLR	R3		; INIT VBN
    322	001214	005203 			140$:	INC	R3		; BUMP TO NEXT VBN
    323	001216					CALL	.SMRVB		; READ NEXT BITMAP BLOCK
    324	001222	012702 	000400 			MOV	#256.,R2	; COUNT 256 WORDS
    325	001226	012703 	000020 		150$:	MOV	#16.,R3		; COUNT 16 BITS PER WORD
    326	001232	012100 				MOV	(R1)+,R0	; GET NEXT MAP WORD
    327	001234	006000 			160$:	ROR	R0		; LOOK AT A BIT
    328	001236	005564 	000036 			ADC	V.FRBK+2(R4)	; COUNT IT IF ON
    329	001242	105564 	000034 			ADCB	V.FRBK(R4)
    330	001246	077306 				SOB	R3,160$		; LOOP FOR BITS
    331	001250	077212 				SOB	R2,150$		; LOOP FOR WORDS
    332	001252	016703 	000000G			MOV	.SMVBN,R3	; GET CURRENT VBN
    333	001256	005316 				DEC	(SP)		; COUNT BLOCKS
    334	001260	001355 				BNE	140$		; AND LOOP FOR BLOCKS
    335	001262	005726 				TST	(SP)+		; CLEAN THE STACK
    336	001264	005067 	000000G			CLR	.SMUCB		; INVALIDATE BITMAP BUFFER SO ALLOCATIONS
    337									; WILL START AT BEGINNING OF VOLUME
    338
    339					; APPLY OPTIONS FROM THE COMMAND STRING
    340
    341	001270	016703 	000000G			MOV	.UCBAD,R3	; GET PUD ADDRESS
    342	001274	036727 	176564 	000002 		BIT	$FLAGS,#MO.CHA	; CHECK FOR EXPLICIT CHARACTERISTICS
    343	001302	001403 				BEQ	170$		; NONE
    344	001304	116763 	176542 	000000G		MOVB	$CHAR,U.CH(R3)	; PUT CHARACTERISTICS INTO PUD
    345	001312	036727 	176546 	000001 	170$:	BIT	$FLAGS,#MO.UIC	; CHECK FOR EXPLICIT UIC
    346	001320	001403 				BEQ	180$		; NO
    347	001322	016763 	176522 	000000G		MOV	$UIC,U.UI(R3)	; SET UIC IN PUD
    348
    349	001330	036727 	176530 	000004 	180$:	BIT	$FLAGS,#MO.PRO	; CHECK FOR EXPLICIT PROTECTION
    350	001336	001403 				BEQ	190$		; NO
    351	001340	016763 	176510 	000000G		MOV	$PRO,U.AR(R3)	; SET PROTECTION WORD IN PUD
    352
    353	001346	036727 	176512 	000020 	190$:	BIT	$FLAGS,#MO.EXT	; CHECK FOR EXPLICIT DEFAULT EXTEND
    354	001354	001403 				BEQ	200$		; NO
    355	001356	116764 	176474 	000025 		MOVB	$EXT,V.FIEX(R4)	; YES - SET IN VCB
    356
    357	001364	036727 	176474 	000040 	200$:	BIT	$FLAGS,#MO.FPR	; CHECK FOR EXPLICIT DEFAULT FILE PROTECTION
    358	001372	001403 				BEQ	210$		; NO
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 8-3


    359	001374	016764 	176460 	000030 		MOV	$FPRO,V.FPRO(R4) ; YES - SET IN VCB
    360
    361	001402	036727 	176456 	001000 	210$:	BIT	$FLAGS,#MO.LRU	; CHECK FOR EXPLICIT LRU SPEC
    362	001410	001403 				BEQ	220$		; NO
    363	001412	116764 	176445 	000035 		MOVB	$LRU,V.LRUC(R4) ; YES - SET IN VCB
    364
    365	001420				220$:	RETURN
    366					;
    367					;
    368	001422					$END	MOUNT
    369					;
    370					;
    371		000001 				.END
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 8-4
SYMBOL TABLE

AC.DLK= 000002   	H.FCHA= 000014   	I.IOSB  000016   	Q.IOPR= 000007   	W.STD   000004
AC.LCK= 000001   	H.FIEX= 000055   	I.LGTH  000040   	Q.IOSB= 000010   	W.VBN   000006
A.TD  = ****** GX	H.FLEV= 000006   	I.LNK   000000   	RLB     000016R  	W.WISZ  000007
BITFNU= 000002   	H.FMAX= 000006   	I.LUN   000012   	R$$10F= 000001   	$CHAR   000052RG
CMDBFL= 001000   	H.FNUM= 000002   	I.PRI   000010   	R$$11D= 000001   	$EXT    000056RG
EX.AC1= 000001   	H.FOWN= 000010   	I.PRM   000024   	SC.BAD= 000100   	$FLAGS  000064RG
EX.AC2= 000002   	H.FPRO= 000044   	I.RTRV  000034   	SC.MDL= 000200   	$FPRO   000060RG
EX.ADF= 000010   	H.FSEQ= 000004   	I.RVDT= 000014   	SETCHA  000000R  	$LRU    000063RG
EX.ENA= 000200   	H.IBLB= 000002   	I.RVNO= 000012   	S.HDHD= 000056   	$PRO    000054RG
EX.FCO= 000004   	H.IBSZ= 000000   	I.RVTI= 000023   	S.IDHD= 000056   	$UIC    000050RG
E$$MSG= 000001   	H.IDOF= 000000   	I.RWAD= 000024   	S.MPHD= 000012   	$VNAM   000046RG
E$$TRP= 000001   	H.INDF= 000760   	I.RWAT  000026   	S.STBK= 000012   	$VNML   000044RG
FCPLUN= 000001   	H.INDN= 000730   	I.RWCT= 000026   	UC.CON= 000200   	$WIN    000062RG
FC.CEF= 020000   	H.INDO= 000744   	I.RWVB= 000032   	UC.DLK= 000100   	$$    = 000067
FC.DIR= 040000   	H.LRUC= 000056   	I.STD   000004   	UC.SWL= ****** GX	$$$ARG= 000013
FC.FCO= 010000   	H.MPOF= 000001   	I.TISZ= 000006   	U.AR  = ****** GX	$$$OST= 000014
FC.WAC= 100000   	H.PROG= 000010   	I.UIC   000022   	U.CH  = ****** GX	.ALLOC= ****** GX
FP.DEL= 000010   	H.PROJ= 000011   	LBNH  = 000040R  	U.C1  = ****** GX	.BLXI = ****** GX
FP.EXT= 000004   	H.SBCL= 000010   	LBNL  = 000042R  	U.LBH = ****** GX	.CKSM1= ****** GX
FP.RAT= 000001   	H.SCHA= 000015   	LEV11M= 000401   	U.LBN = ****** GX	.CKSUM= ****** GX
FP.RDV= 000001   	H.UCHA= 000014   	LOWFCN= 000011   	U.UI  = ****** GX	.CRFCB= ****** GX
FP.WRV= 000002   	H.UFAT= 000016   	ME.NHM= 000012   	U.VA  = ****** GX	.CRTSK= ****** GX
F$$LVL= 000001   	H.VCHA= 000042   	ME.SYN= 000007   	VC.BMW= 000002   	.DFEXT= 000005
F.DREF  000042   	H.VDAT= 000074   	ME.WRV= 000013   	VC.IFW= 000001   	.DFPRO= 164000
F.DRNM  000044   	H.VLEV= 000014   	MFDFNO= 000004   	V.FCB   000006   	.FCBAD= ****** GX
F.FEXT  000002   	H.VNAM= 000016   	MFDFSQ= 000004   	V.FFNU  000055   	.FILNO= ****** GX
F.FNUM  000006   	H.VOWN= 000036   	MO.CHA= 000002 G 	V.FIEX  000025   	.FILSQ= ****** GX
F.FOWN  000014   	H.VPRO= 000040   	MO.EXT= 000020 G 	V.FMAX  000016   	.HDBUF= ****** GX
F.FPRO  000016   	H.WISZ= 000054   	MO.FPR= 000040 G 	V.FPRO  000030   	.INWIN= ****** GX
F.FSEQ  000010   	IDXFNU= 000001   	MO.LRU= 001000 G 	V.FRBK  000034   	.IOPKT= ****** GX
F.FSQN  000013   	ID$$$ = 000222   	MO.OVR= 000200 G 	V.IBLB  000012   	.IOSTS= ****** GX
F.FVBN  000046   	IE.ABO= ****** GX	MO.PRO= 000004 G 	V.IBSZ  000013   	.MOKTB= ****** GX
F.HDLB  000022   	IE.IFC= ****** GX	MO.SWL= 000400 G 	V.IFWI  000002   	.MOPRS= ****** GX
F.LBN   000026   	IE.VER= ****** GX	MO.UIC= 000001 G 	V.LABL  000040   	.MOUNT  000066RG
F.LGTH  000052   	IO.RLB= ****** GX	MO.UNL= 000010 G 	V.LGTH  000056   	.MXQIO= ****** GX
F.LINK  000000   	IO.STC= ****** GX	MO.WIN= 000100 G 	V.LRUC  000035   	.PRFIL= 000004
F.NACS  000036   	I.ACTL  000035   	M$$HDR= 000001   	V.SBCL  000021   	.QIOST= ****** GX
F.NLCK  000037   	I.AST   000020   	M.CTSZ= 000006   	V.SBLB  000024   	.RHDFN= ****** GX
F.NWAC  000040   	I.ATL   000006   	M.EFNU= 000002   	V.SBSZ  000022   	.RHDLB= ****** GX
F.RVN   000012   	I.CRDT= 000031   	M.EFSQ= 000004   	V.STAT  000054   	.RTPTF= 001401
F.SCHA  000021   	I.CRTI= 000040   	M.ERVN= 000001   	V.STD   000004   	.SMBUF= ****** GX
F.SIZE  000032   	I.DASZ= 000007   	M.ESQN= 000000   	V.TRCT  000000   	.SMRVB= ****** GX
F.STAT  000040   	I.DPB   000011   	M.LBSZ= 000007   	V.WISZ  000020   	.SMUCB= ****** GX
F.STD   000004   	I.EFN   000013   	M.MAX = 000011   	WI.BPS= 100000   	.SMVBN= ****** GX
F.UCHA  000020   	I.EXDT= 000046   	M.RTRV= 000012   	WI.DLK= 010000   	.SYUIC= 000010
F11PR$= 000000   	I.EXTD  000030   	M.USE = 000010   	WI.EXT= 002000   	.TPARS= ****** GX
HIFCN = 000030   	I.FCN   000014   	QIOEFN= 000002   	WI.LCK= 004000   	.UCBAD= ****** GX
HOMEBL  000424R  	I.FIDP  000024   	Q.IOAE= 000012   	WI.RDV= 000400   	.VBSIZ= 001000
H.CHK1= 000072   	I.FNAM= 000000   	Q.IOEF= 000006   	WI.WRV= 001000   	.WNDOW= ****** GX
H.CHK2= 000776   	I.FNBP  000036   	Q.IOFN= 000002   	W.CTL   000000   	...GBL= 000000
H.CKSM= 000776   	I.FTYP= 000006   	Q.IOLU= 000004   	W.FCB   000002   	...TPC= 001000
H.DVTY= 000012   	I.FVER= 000010   	Q.IOPL= 000014   	W.RTRV  000012

. ABS.	000056	   000
      	001422	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  3152 WORDS  ( 13 PAGES)
MOUNT	D0222, MOUNT VOLUME	MACRO M1113  14-APR-81 09:21  PAGE 8-5
SYMBOL TABLE

DYNAMIC MEMORY:  4630 WORDS  ( 17 PAGES)
ELAPSED TIME:  00:00:20
[40,10]MOUNT,[40,20]MOUNT/-SP/CR=[40,30]RSXDC,F11PRE,MOUNT
MOUNT      CREATED BY  MACRO  ON 14-APR-81 AT 09:21	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

AC.DLK	= 000002	#3-184     
AC.LCK	= 000001	#3-183     
A.TD  	= ******  GX	 8-227     
BITFNU	= 000002	#3-168     
CMDBFL	= 001000	#6-70      
CS2$$ 	= ******	 5-490     
EX.AC1	= 000001	#3-190     
EX.AC2	= 000002	#3-191     
EX.ADF	= 000010	#3-194     
EX.ENA	= 000200	#3-195     
EX.FCO	= 000004	#3-193     
E$$MSG	= 000001	#1-32       5-472     
E$$TRP	= 000001	#1-31       5-412     
FCPLUN	= 000001	#3-159      6-60       6-64      
F$$LVL	= 000001	#1-28      
F.NACS	  000036	*8-291     
F.NLCK	  000037	*8-290     
F11PR$	= 000000	#3-149     
HIFCN 	= 000030	#3-156     
HOMEBL	  000424 R	 7-169     #8-194     
H.CHK1	= 000072	 7-156     
H.FIEX	= 000055	*8-255      8-262     
H.FMAX	= 000006	 7-167      8-251     
H.FPRO	= 000044	*8-256      8-263     
H.IBLB	= 000002	 7-164      7-165      8-248      8-250     
H.IBSZ	= 000000	 7-162      8-249     
H.LRUC	= 000056	 8-264     
H.MPOF	= 000001	 8-307     
H.SBCL	= 000010	 8-261     
H.VCHA	= 000042	 8-217     
H.VNAM	= 000016	 8-197      8-205      8-235     
H.VOWN	= 000036	 8-214     
H.VPRO	= 000040	 8-216     
H.WISZ	= 000054	 8-252     
IDXFNU	= 000001	#3-167     
ID$$$ 	= 000222	#6-1        6-20      
IE.ABO	= ******  GX	 7-136      7-141      7-186      7-189      8-202      8-207      8-211     
IE.IFC	= ******  GX	 7-145     
IE.VER	= ******  GX	 7-173     
IO.RLB	= ******  GX	 6-64      
IO.STC	= ******  GX	 6-60      
I.ACTL	  000035	#3-129     
I.AST 	  000020	#3-121     
I.ATL 	  000006	#3-114     
I.DPB 	  000011	#3-116     
I.EFN 	  000013	#3-118     
I.EXTD	  000030	#3-127     
I.FCN 	  000014	#3-119     
I.FIDP	  000024	#3-125     
I.FNBP	  000036	#3-130     
I.IOSB	  000016	#3-120     
I.LGTH	  000040	#3-131     
MOUNT      CREATED BY  MACRO  ON 14-APR-81 AT 09:21	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

I.LNK 	  000000	#3-112     
I.LUN 	  000012	#3-117     
I.PRI 	  000010	#3-115     
I.PRM 	  000024	#3-124      3-138     
I.RTRV	  000034	#3-128     
I.RWAD	= 000024	#3-138      3-143     
I.RWAT	  000026	#3-126     
I.RWCT	= 000026	#3-143      3-145     
I.RWVB	= 000032	#3-145     
I.STD 	  000004	#3-113     
I.UIC 	  000022	#3-122     
LBNH  	= 000040 R	#6-65      *7-152     *7-182      7-183     
LBNL  	= 000042 R	#6-66      *7-151     *7-180     *7-181      7-187     
LEV11M	= 000401	#3-163     
LOWFCN	= 000011	#3-155     
MASS$$	= ******	 3-16       3-24       3-63       5-512      6-1        6-20      
ME.NHM	= 000012	#6-53       7-186      7-189     
ME.SYN	= 000007	#6-52       7-136     
ME.WRV	= 000013	#6-54       8-202      8-207      8-211     
MFDFNO	= 000004	#3-169     
MFDFSQ	= 000004	#3-170     
MO.CHA	= 000002  G	#6-88       8-342     
MO.EXT	= 000020  G	#6-91       8-353     
MO.FPR	= 000040  G	#6-92       8-357     
MO.LRU	= 001000  G	#6-96       8-361     
MO.OVR	= 000200  G	#6-94       8-194     
MO.PRO	= 000004  G	#6-89       8-349     
MO.SWL	= 000400  G	#6-95       8-220     
MO.UIC	= 000001  G	#6-87       8-345     
MO.UNL	= 000010  G	#6-90       8-286     
MO.WIN	= 000100  G	#6-93       8-257     
M$$HDR	= 000001	#1-33      
M$$MGE	= ******	 4-385     
M.RTRV	= 000012	 8-309     
QIOEFN	= 000002	#3-158      6-60       6-64      
Q.IOAE	= 000012	#6-60      #6-64      
Q.IOEF	= 000006	#6-60      #6-64      
Q.IOFN	= 000002	#6-60      #6-64      
Q.IOLU	= 000004	#6-60      #6-64      
Q.IOPL	= 000014	#6-60      #6-64       6-65       6-66      
Q.IOPR	= 000007	#6-60      #6-64      
Q.IOSB	= 000010	#6-60      #6-64      
RLB   	  000016 R	#6-64       6-65       6-66       7-153     
R$$EIS	= ******	 4-283     
R$$10F	= 000001	#1-30       4-384     
R$$11D	= 000001	#1-29       3-77       3-101      3-142      3-154      4-207      4-336      4-349     
R$$11M	= ******	 3-80       3-85       3-139      3-150      4-243      4-323     
SETCHA	  000000 R	#6-60       7-143     
S$$YDF	= ******	 1-1        1-36      
UC.SWL	= ******  GX	 8-219      8-222     
U.AR  	= ******  GX	*8-213     *8-216     *8-351     
U.CH  	= ******  GX	*8-217     *8-344     
MOUNT      CREATED BY  MACRO  ON 14-APR-81 AT 09:21	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

U.C1  	= ******  GX	*8-219     *8-222     
U.LBH 	= ******  GX	 7-183     
U.LBN 	= ******  GX	 7-187     
U.UI  	= ******  GX	*8-214     *8-347     
U.VA  	= ******  GX	 7-139     *8-230     
V.FCB 	  000006	*8-293     *8-294     
V.FIEX	  000025	*8-262     *8-355     
V.FMAX	  000016	 8-242      8-243     
V.FPRO	  000030	*8-263     *8-359     
V.FRBK	  000034	*8-328     *8-329     
V.IBLB	  000012	 8-241      8-242      8-247      8-273      8-274     
V.IBSZ	  000013	 8-241      8-271     
V.IFWI	  000002	*8-295     
V.LABL	  000040	 8-236     
V.LGTH	  000056	 8-228     
V.LRUC	  000035	*8-264     *8-266     *8-363     
V.SBCL	  000021	 8-244     
V.SBLB	  000024	*8-310     *8-316     
V.SBSZ	  000022	*8-315     
V.TRCT	  000000	 8-296     
V.WISZ	  000020	 8-243      8-244     
WI.LCK	= 004000	 8-289     
W.CTL 	  000000	 8-288     
$CHAR 	  000052 RG	#6-77       8-344     
$EXT  	  000056 RG	#6-79       8-355     
$FLAGS	  000064 RG	#6-83      *7-125      8-194      8-220      8-257      8-286      8-342      8-345      8-349     
                         8-353      8-357      8-361     
$FPRO 	  000060 RG	#6-80       8-359     
$LRU  	  000063 RG	#6-82       8-363     
$PRO  	  000054 RG	#6-78       8-351     
$UIC  	  000050 RG	#6-76       8-347     
$VNAM 	  000046 RG	#6-75       8-196     
$VNML 	  000044 RG	#6-74       8-198     
$WIN  	  000062 RG	#6-81       8-259     
$$    	= 000067	#7-130      7-130     #7-134      7-134     #7-157      7-157     #7-160      7-160     #8-229     
                         8-229     #8-279      8-279     #8-281      8-281     #8-284      8-284     #8-305      8-305     
                        #8-323      8-323     
$$$ARG	= 000013	#6-60       6-60      #6-60       6-60      #6-64       6-64      #6-64       6-64      #6-64      
                         6-64      #6-64       6-64      #6-64       6-64      #6-64       6-64      
$$$GLB	= ******	 6-60       6-60       6-60       6-60       6-60       6-60       6-60       6-60       6-64      
                         6-64       6-64       6-64       6-64       6-64       6-64       6-64      
$$$OST	= 000014	#6-60       6-60       6-60      #6-60       6-60       6-60      #6-60       6-60       6-60      
                        #6-60       6-60       6-60      #6-60       6-60       6-60      #6-60       6-60       6-60      
                        #6-60       6-60      #6-64       6-64       6-64      #6-64       6-64       6-64      #6-64      
                         6-64       6-64      #6-64       6-64       6-64      #6-64       6-64       6-64      #6-64      
                         6-64       6-64      #6-64       6-64      
.ALLOC	= ******  GX	 8-229      8-229     
.BLXI 	= ******  GX	 7-130      7-130     
.CKSM1	= ******  GX	 7-157      7-157     
.CKSUM	= ******  GX	 7-160      7-160     
.CRFCB	= ******  GX	 8-281      8-281     
.CRTSK	= ******  GX	 8-226     
MOUNT      CREATED BY  MACRO  ON 14-APR-81 AT 09:21	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.DFEXT	= 000005	#3-172      8-255     
.DFPRO	= 164000	#3-173      8-256     
.FCBAD	= ******  GX	*8-282      8-285     *8-302     
.FILNO	= ******  GX	*8-277     
.FILSQ	= ******  GX	*8-278     
.HDBUF	= ******  GX	 6-64       7-155      7-159      7-162      7-164      7-165      7-167      8-197      8-205     
                         8-214      8-216      8-217      8-235      8-248      8-249      8-250      8-251      8-252     
                        *8-255     *8-256      8-261      8-262      8-263      8-264      8-307      8-309     
.INWIN	= ******  GX	 8-284      8-284     
.IOPKT	= ******  GX	 7-142     
.IOSTS	= ******  GX	*7-136     *7-141     *7-147     *7-175     *7-186     *7-189     *8-202     *8-207     *8-211     
.MOKTB	= ******  GX	 7-132     
.MOPRS	= ******  GX	 7-133     
.MOUNT	  000066 RG	#7-124     
.MXQIO	= ******  GX	 7-143      7-153     
.PRFIL	= 000004	#3-165     
.QIOST	= ******  GX	 6-60       6-64       7-145      7-147      7-173      7-175     
.RHDFN	= ******  GX	 8-305      8-305     
.RHDLB	= ******  GX	 8-279      8-279     
.RTPTF	= 001401	#3-162     
.SMBUF	= ******  GX	 7-128     
.SMRVB	= ******  GX	 8-323      8-323     
.SMUCB	= ******  GX	*7-126     *8-336     
.SMVBN	= ******  GX	 8-332     
.SYUIC	= 000010	#3-164     
.TPARS	= ******  GX	 7-134      7-134     
.UCBAD	= ******  GX	 7-138      8-341     
.VBSIZ	= 001000	#3-161      6-64      
.WNDOW	= ******  GX	 8-289      8-295     *8-303     
MOUNT      CREATED BY  MACRO  ON 14-APR-81 AT 09:21	PAGE 5

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ASSUME		#4-201     #8-241     #8-242     #8-243     #8-244     #8-288     #8-296     
CALL  		#3-78       7-130      7-134      7-157      7-160      8-229      8-279      8-281      8-284      8-305     
                 8-323     
CALLR 		#4-400     
ERR   		#5-414     
ERROR 		#6-39      #7-136     #7-141     #7-147     #7-175     #7-186     #7-189     #8-202     #8-207     #8-211     
ERRP  		#5-436     
ERRX  		#5-422      7-136      7-141      7-147      7-175      7-186      7-189      8-202      8-207      8-211     
FATAL 		#5-473     
FHDOF$		#3-78      #3-83      #6-26      #6-27      
F11DF$		#3-78      #3-84      
GETLUN		#4-337     
GTSKHD		#4-369     #4-386     
HMBOF$		#6-26       6-28      
MUL   		#4-290     
OFF$  		#6-60       6-60       6-60       6-60       6-60       6-60       6-60       6-60       6-60      #6-64      
                 6-64       6-64       6-64       6-64       6-64       6-64       6-64       6-64      
POP   		#4-315     
PUSH  		#4-309     
PUTLUN		#4-341     
QDPB$ 		#6-60      #6-60      #6-64      #6-64      
QIO   		#6-32      #7-143     #7-153     
QIOW$ 		#6-26      #6-60      #6-64      
RETURN		#3-78      #8-365     
XTSKHD		#4-379     #4-395     
$BEGIN		#4-208      6-1       
$END  		#4-229     #8-368     
$VERSI		#4-280     #6-20      
$VER1 		#4-233     #6-20