GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55

TABLE OF CONTENTS



     2-   43	MAIN FILE OPEN ROUTINE

     2-  249	FILE BACKUP

     2-  319	FILE SWITCH SUBROUTINE

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2





      1						.TITLE	GETFLS - FILE OPENING AND CLOSING FOR THE EDITOR

      2						.IDENT	/000035/

      3

      4					; COPYRIGHT (C) 1976, 1977,

      5					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

      6					;

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

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

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

     10					; OTHER  COPIES  THEREOF,  MAY NOT BE PROVIDED  OR OTHERWISE MADE

     11					; AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND

     12					; TO  ONE  WHO  AGREES  TO  THESE  LICENSE  TERMS.  TITLE TO  AND

     13					; OWNERSHIP OF THE SOFTWARE SHALL AT ALL  TIMES REMAIN IN DEC.

     14					;

     15					; THE INFORMATION IN  THIS SOFTWARE IS  SUBJECT TO CHANGE WITHOUT

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

     17					; EQUIPMENT CORPORATION.

     18					;

     19					; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE  USE  OR  RELIABILITY

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

     21					;

     22					; WRITTEN BY

     23					;	A. GOLDSTEIN

     24					;

     25					; MODIFIED BY

     26					;	D. KNIGHT

     27					;

     28

     29						.MCALL	CSI$1,CSI$2,OFNB$R,OFNB$W,OFNB$A,CLOSE$

     30

     31						.MACRO	SAVE

     32						JSR	R1,$SAV5

     33						.ENDM	SAVE

     34

     35						.MACRO	SOB	REG,ADR

     36						DEC	REG

     37						BNE	ADR

     38						.ENDM	SOB

     39

     40		017764 			CMDR50	=	<<'E-100>*50*50>+<<'D-100>*50>+<'T-100> ; .RAD50 /EDT/

     41		006263 			BAKR50	=	<<'B-100>*50*50>+<<'A-100>*50>+<'K-100>	; .RAD50 /BAK/

     42

     43						.SBTTL	MAIN FILE OPEN ROUTINE

     44

     45					;+

     46					;

     47					; FUNCTION

     48					;	BLISS GETFLS(MODE,FILBUF)=

     49					;	THIS ROUTINE OPENS THE REQUESTED FILES AND PREPARES

     50					;	FOR INPUT AND OUTPUT.

     51					;

     52					; INPUTS

     53					;	MODE =	MODE FLAG

     54					;	FILBUF = CONTAINS POINTER TO ASCIZ FILE STRING.

     55					;	FILBAK = IF NON-ZERO, BACKUP IS REQUIRED ON TYPE 2 OPEN

     56					;

     57					; OUTPUTS

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-1

MAIN FILE OPEN ROUTINE



     58					;	R0 = 1 SUCCESS

     59					;	R0 = 0 NO SUCH FILE (INPUT), NO FILE SPECIFIED (OUTPUT)

     60					;	R0 = -N  FAILURE (WHERE N IS THE ERROR NUMBER)

     61					;

     62					; REGISTERS CHANGED

     63					;	R0.

     64					;

     65					; INTERPRETATION OF MODE FLAG:

     66					;

     67					;	ZERO		OPEN FOR READ

     68					;	+1		OPEN FOR WRITE

     69					;	+2		OPEN FOR WRITE (FORCE BACKUP IF FILBAK<>0)

     70					;	NEGATIVE	OPEN INDIRECT FILE

     71					;

     72					; CSI IS CALLED TO SCAN THE FILE STRING AND CONSTRUCT A DATASET POINTER

     73					; BLOCK. THEN THE APPROPRIATE OPEN CALL IS MADE.

     74					;

     75					; THE FOLLOWING SWITCHES ARE RECOGNIZED TO FORCE FCS CARRIAGE CONTROL

     76					; ATTRIBUTES ON BOTH INPUT AND OUTPUT FILES:

     77					;

     78					;	/-CR	USE INTERNAL CARRIAGE CONTROL (I.E., NONE)

     79					;	/CR	USE IMPLIED CARRIAGE CONTROL (FD.CR)

     80					;	/FT	USE FORTRAN CARRIAGE CONTROL (FD.FTN)

     81					;

     82					; NOTE:	FOR NON-RSX SYSTEMS, A TYPE 2 OPEN FOR WRITE WILL CAUSE

     83					;	THE CURRENT INPUT FILE EXTENSION TO BE RENAMED TO .BAK

     84					;	IF FILBAK<>0; FOR ALL OTHER FORMS, TYPE 1 AND TYPE 2

     85					;	ARE IDENTICAL.

     86					;

     87					;-

     88

     89						.ENABL	LSB

     90

     91		000016 			FILBUF	=	14.		;STACK OFFSET FOR FILE BUFFER

     92		000020 			MODE	=	16.		;MODE FLAG OFFSET

     93

     94	000000				GETFLS::

     95	000000					SAVE			; SAVE ALL REGISTERS

     96	000004	016600 	000016 			MOV	FILBUF(SP),R0	; GET ADDRESS OF FILE STRING

     97	000010	012703 	000000G			MOV	#STGSIZ,R3	; MAXIMUM BYTE COUNT

     98	000014	012702 	000000G			MOV	#LINSTR,R2	; POINT TO STRING BUFFER

     99	000020	112001 			10$:	MOVB	(R0)+,R1	; PICK UP BYTE

    100	000022	001414 				BEQ	30$

    101	000024	120127 	000141 			CMPB	R1,#'A+40	; SEE IF THIS IS A LOWER CASE ALPHA

    102	000030	103405 				BLO	20$		; NO

    103	000032	120127 	000172 			CMPB	R1,#'Z+40

    104	000036	101002 				BHI	20$		; NOT EITHER

    105	000040	042701 	000040 			BIC	#40,R1		; IT IS - CONVERT TO UPPER CASE

    106	000044	110122 			20$:	MOVB	R1,(R2)+	; COPY CHAR INTO BUFFER

    107	000046					SOB	R3,10$

    108	000052	000454 				BR	110$

    109

    110					;

    111					; TERMINATOR DETECTED

    112					;

    113	000054	005403 			30$:	NEG	R3

    114	000056	062703 	000000G			ADD	#STGSIZ,R3	; COMPUTE STRING'S BYTE COUNT

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-2

MAIN FILE OPEN ROUTINE



    115	000062	001002 				BNE	60$		; MUST BE NON-ZERO LENGTH

    116	000064	000167 	000436 			JMP	ERRXIT		; NO FILE SPECIFIED

    117

    118	000070				60$:	CSI$1	#CSIBLK,#LINSTR,R3

    119	000112	103001 				BCC	70$		; CHECK FOR SYNTAX ERROR

    120	000114	000410 				BR	75$

    121

    122	000116				70$:	CSI$2	R0,OUTPUT,#OUTSWT ; GET A FILE SPEC FROM STRING

    123	000134	103004 				BCC	80$		; CHECK FOR FUNNY STUFF

    124	000136	012700 	000000C		75$:	MOV	#-ERFSYN,R0	; SYNTAX ERROR

    125	000142	000167 	000362 			JMP	ERRXI2

    126

    127	000146	132760 	000030 	000001 	80$:	BITB	#CS.MOR+CS.WLD,C.STAT(R0)

    128	000154	001403 				BEQ	100$		; LOOK FOR WILD CARDS, MULTIPLE FILES

    129	000156	012700 	000000C			MOV	#-ERFLWC,R0	;NO WILD CARDS ALLOWED

    130	000162	000562 				BR	ERRXI2

    131

    132	000164	005067 	000000C		100$:	CLR	SRCNAM+N.FTYP	; SET UP FOR STANDARD DEFAULT

    133	000170	005766 	000020 			TST	MODE(SP)	; DISPATCH ON OPEN MODE

    134	000174	002047 				BGE	EWOPEN		; GO OPEN FOR READ/WRITE

    135	000176	100403 				BMI	EIOPEN		; INDIRECT OPEN

    136	000200	012700 	000000C			MOV	#-ERDIS,R0	;DISASTER, UNRECOGNIZED OPEN MODE

    137	000204	000551 			110$:	BR	ERRXI2

    138

    139						.DSABL	LSB

    140

    141					; THE FOLLOWING ROUTINES DO THE ACTUAL FILE MANIPULATION

    142					; APPROPRIATE TO THE CALL.

    143

    144						.ENABL	LSB

    145					;

    146					; HERE WHEN AN INDIRECT OPEN HAS BEEN REQUESTED BY CALLER

    147					;

    148	000206	016700 	000000G		EIOPEN:	MOV	INDIR,R0	; SEE IF INDIRECT FILE IS OPEN

    149	000212	001406 				BEQ	20$		; BRANCH IF NOT

    150	000214	005760 	000000G			TST	F.BDB(R0)	; SEE IF THIS IS REALLY A OPEN FILE

    151	000220	001403 				BEQ	20$		; BRANCH IF FAKED COMMAND LINE

    152	000222	012700 	000000C			MOV	#-ERFIND,R0	;INDIRECT COMMAND FILE ALREADY OPEN

    153	000226	000540 				BR	ERRXI2

    154

    155	000230	012767 	017764 	000000C	20$:	MOV	#CMDR50,SRCNAM+N.FTYP ;DEFAULT TO .EDT FOR FILE TYPE

    156	000236	012700 	000000G			MOV	#CMDFDB,R0

    157	000242	004767 	000264 			CALL	PARSE		; PARSE THE FILE NAME

    158	000246	103003 				BCC	25$

    159	000250	012700 	000000C		PRSERR:	MOV	#-ERFSYN,R0	; FILE NAME SYNTAX ERROR

    160	000254	000525 				BR	ERRXI2		;

    161	000256				25$:	OFNB$R	R0		; AND OPEN THE INDIRECT FILE

    162	000270	103406 			30$:	BCS	FOPERR

    163	000272	010067 	000000G			MOV	R0,INDIR	; SET INDIRECT FILE OPEN INDICATOR

    164	000276	012760 	177777 	000000G		MOV	#-1,F.NRBD(R0)	; CLEAN OUT RECORD BUFFER

    165	000304	000501 				BR	GFLXIT

    166	000306	012700 	000000C		FOPERR:	MOV	#-ERFOPE,R0	;FILE OPEN ERROR

    167	000312	000506 				BR	ERRXI2

    168

    169						.DSABL	LSB

    170

    171					;

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-3

MAIN FILE OPEN ROUTINE



    172					; HERE WHEN OPEN FOR WRITE HAS BEEN REQUESTED.

    173					; OPEN AN OUTPUT FILE.

    174					;

    175	000314	001431 			EWOPEN:	BEQ	EROPEN		; GO OPEN FOR EDIT READ

    176						.IF DF	RSTS

    177						CMP	MODE(SP),#2	; CHECK FOR BACKUP FILE REQUIRED

    178						BNE	40$		; IT ISN'T ALLOWED HERE

    179						TSTB	FILBAK		; MAKE SURE IT IS REALLY NEEDED

    180						BEQ	40$		; IT ISN'T

    181						CALL	BACKUP		; PERFORM THE BACKUP

    182						BCS	FOPERR		; IT FAILED TO BACKUP CORRECTLY

    183					40$:

    184						.ENDC	;RSTS

    185	000316	012700 	000000G			MOV	#OUTFDB,R0

    186	000322	004767 	000204 			CALL	PARSE		; PARSE THE FILE NAME

    187	000326	103750 				BCS	PRSERR		; OUT ON ERROR

    188	000330	116760 	000000C	000000G	EWCOMM:	MOVB	SRCFDB+F.RATT,F.RATT(R0) ; DEFAULT RECORD ATTRIBUTES TO INPUT'S

    189						.IF NDF	RSTS

    190	000336	001003 				BNE	60$

    191						.IFF

    192						BEQ	50$		;ZERO ON INPUT REQUIRES SETTING

    193						BIT	#1000,SWDI+2	;IS DIAGNOSTIC GENERATOR SWITCH ON?

    194						BNE	55$		;YES

    195						CMPB	#R.STRM,SRCFDB+F.RTYP ;CHECK FOR SPECIAL CASE STREAM I/O

    196						BNE	60$		; IT IS SOMETHING ELSE, LEAVE ALONE

    197					50$:

    198						.ENDC	;RSTS

    199						.IF DF	RSTS

    200						BIT	#1000,SWDI+2	;WATCH FOR DIAGNOSTIC GENERATOR

    201						BNE	55$

    202						MOVB	#R.STRM,F.RTYP(R0) ;SET RSTS STREAM I/O

    203						.ENDC	;RSTS

    204	000340	112760 	000000G	000000G	55$:	MOVB	#FD.CR,F.RATT(R0) ; SET DEFAULT NONE TO CR

    205	000346	004767 	000204 		60$:	CALL	FSWIT		; APPLY SWITCHES

    206	000352	103003 				BCC	65$

    207	000354	012700 	000000C			MOV	#-ERFCMS,R0	; BAD SWITCH

    208	000360	000463 				BR	ERRXI2

    209	000362				65$:	OFNB$W	R0		; OPEN THE OUTPUT FILE

    210	000374	103744 				BCS	FOPERR		; OUT ON ERROR

    211	000376	000444 				BR	GFLXIT		; OTHERWISE CONTINUE ON

    212

    213					;

    214					; HERE FOR EDIT READ REQUEST FROM CALLER.

    215					;

    216	000400	012700 	000000G		EROPEN:	MOV	#HGHPOS,R0	; CLEAR

    217	000404	005020 				CLR	(R0)+		; THE

    218	000406	005020 				CLR	(R0)+		; END OF TEXT

    219	000410	005020 				CLR	(R0)+		; MARKER

    220	000412	012700 	000000G			MOV	#SRCFDB,R0	; FDB ADDRESS TO R0

    221	000416	004767 	000110 			CALL	PARSE		; PARSE THE FILE NAME

    222	000422	103712 				BCS	PRSERR		; BRANCH IF ERROR

    223	000424					OFNB$R	R0		; AND OPEN THE FILE FOR INPUT

    224	000436	103427 				BCS	NSF		; FILE NOT FOUND.

    225						.IF NDF	RSTS		;

    226	000440	122760 	000000G	000000G		CMPB	#R.SEQ,F.RTYP(R0) ; IS THIS A SEQUENCED FILE?

    227	000446	001010 				BNE	10$		; PROBABLY NOT

    228	000450	132760 	000000G	000000G		BITB	#FD.PRN,F.RATT(R0) ;MAKE SURE IT ISN'T A PRINT FILE

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-4

MAIN FILE OPEN ROUTINE



    229	000456	001004 				BNE	10$		; WHICH I CAN'T HANDLE

    230	000460	012767 	000001 	000000G		MOV	#1,NUMFLG	; SET RSX MODE LINE NUMBERS FOUND

    231	000466	000402 				BR	20$		;

    232	000470	005067 	000000G		10$:	CLR	NUMFLG		;DO-IT-YOURSELF LINE NUMBERS

    233	000474				20$:

    234						.IFF

    235						;TRY TO HANDLE BASIC LINE NUMBERS HERE

    236						;NYI

    237						.ENDC	;RSTS

    238	000474	004767 	000056 			CALL	FSWIT		; APPLY SWITCHES

    239	000500	103003 				BCC	GFLXIT

    240	000502	012700 	000000C			MOV	#-ERFCMS,R0	;BAD SWITCH

    241	000506	000410 				BR	ERRXI2

    242	000510	012700 	000001 		GFLXIT:	MOV	#1,R0		;SUCCESS

    243	000514	000207 				RETURN

    244	000516	126027 	000000G	000000G	NSF:	CMPB	F.ERR(R0),#IE.NSF ;NO SUCH FILE?

    245	000524	001270 				BNE	FOPERR		; SOME OTHER ERROR

    246	000526	005000 			ERRXIT:	CLR	R0		;FAILURE - NO FILE FOUND OF THAT NAME

    247	000530	000207 			ERRXI2:	RETURN

    248

    249						.SBTTL	FILE BACKUP

    250					;+

    251					;

    252					; FUNCTION

    253					;	WHEN CALLED, RENAME THE INPUT FILE TO .BAK.

    254					;

    255					; INPUTS

    256					;	NONE.

    257					;

    258					; OUTPUTS

    259					;	CARRY CLEAR - OK

    260					;	CARRY SET   - FAILURE

    261					;

    262					; REGISTERS CHANGED

    263					;	R0, R1, R2.

    264					;

    265						.IF DF	RSTS

    266					BACKUP:	SUB	#S.FDB+16.,SP	; SET UP A STATE SAVE AREA

    267						MOV	SP,R1		; REMEMBER ITS ADDRESS FOR LATER

    268						MOV	R1,R2		; REMEMBER FDB HEAD

    269						ADD	#F.FNB,R2	; POINT TO FNB

    270						MOV	R2,-(SP)	; GO SAVE

    271						CALL	INPSAV		; THE CURRENT STATE OF THE FILE

    272						TST	R0		; MAKE SURE IT WORKED OK

    273						BEQ	20$		; IT DIDN'T

    274						SUB	#F.FNB,R2	; GET FDB POINTER

    275						MOV	#SRCFDB,R0	; POINT TO OLD FDB

    276					10$:	MOV	(R0)+,(R2)+	; MOVE THE WHOLE FDB INTO THE TEMP

    277						CMP	R0,#SRCFDB+F.FNB ; AREA LEAVING R2

    278						BLO	10$		; POINTING TO FNB

    279						MOV	#BAKR50,F.FNB+N.FTYP(R1) ;MAKE FILE A .BAK

    280						MOV	#SRCFDB,R0	; GET ADDRESS OF OLD FDB

    281						CALL	.RENAM		; NOW RENAME IT

    282						CALL	INPRST		; RESTORE THE INPUT FILE WITH ITS

    283									; NEW NAME

    284						ADD	#S.FDB+18.,SP ; THROW AWAY TEMPORARY FDB

    285						CLC			; NO ERRORS

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-5

FILE BACKUP



    286						RETURN

    287					20$:	ADD	#S.FDB+18.,SP	;

    288						SEC			; FAILURE

    289						RETURN

    290						.ENDC	;RSTS

    291

    292					;+

    293					;

    294					; FUNCTION

    295					;	THIS ROUTINE TAKES THE NECESSARY INFORMATION OUT OF THE FDB

    296					;	AND INVOKES THE FCS PARSE ROUTINE.

    297					;

    298					; INPUTS

    299					;	R0=FDB ADDRESS

    300					;

    301					; OUTPUTS

    302					;	C=0 IF SUCCESSFUL, C=1 IF ERROR

    303					;	R1=R0+F.FNB

    304					;	R2=F.DSPT(R0)

    305					;	R3=F.DFNB(R0)

    306					;

    307					; REGISTERS CHANGED

    308					;	R1, R2, R3.

    309					;

    310					;-

    311

    312	000532	010001 			PARSE:	MOV	R0,R1

    313	000534	062701 	000000G			ADD	#F.FNB,R1	; R1=FILE NAME BLOCK ADDRESS

    314	000540	016002 	000000G			MOV	F.DSPT(R0),R2	; R2=DESCRIPTOR POINTER

    315	000544	016003 	000000G			MOV	F.DFNB(R0),R3	; R3=DEFAULT NAME BLOCK ADDRESS

    316	000550	004767 	000000G			CALL	.PARSE		; PARSE THE FILE NAME

    317	000554	000207 				RETURN			; AND RETURN

    318

    319						.SBTTL	FILE SWITCH SUBROUTINE

    320

    321					;+

    322					;

    323					; FUNCTION

    324					;	THIS ROUTINE TAKES THE SWITCH VALUES LEFT BY CSI2

    325					;	AND STUFFS THE RECORD ATTRIBUTES BYTE OF THE FILE

    326					;	IN QUESTION APPROPRIATELY.

    327					;

    328					; INPUTS

    329					;	R0 =	POINTER TO FDB OF FILE

    330					;

    331					; OUTPUTS

    332					;	F.RATT(R0)	GETS RECORD ATTRIBUTES

    333					;	CARRY CLEAR - OK

    334					;	CARRY SET - ERROR

    335					;

    336					; REGISTERS CHANGED

    337					;	R3.

    338					;

    339					;-

    340

    341						.ENABL	LSB

    342

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-6

FILE SWITCH SUBROUTINE



    343	000556	105767 	000024G		FSWIT:	TSTB	C.MKW1+CSIBLK	; SEE IF ANY SWITCHES WERE SPECIFIED

    344	000562	001416 				BEQ	20$		; NO

    345	000564	116703 	000026G			MOVB	C.MKW2+CSIBLK,R3 ; GET SWITCH SETTINGS

    346	000570	001410 				BEQ	10$		; ALL ZERO IS OK

    347	000572	120327 	000000G			CMPB	R3,#FD.CR	; CHECK FOR CR SWITCH

    348	000576	001405 				BEQ	10$		; YES

    349	000600	120327 	000000G			CMPB	R3,#FD.FTN	; CHECK FOR FT SWITCH

    350	000604	001402 				BEQ	10$		; YES

    351	000606	000261 				SEC

    352	000610	000403 				BR	20$

    353	000612	110360 	000000G		10$:	MOVB	R3,F.RATT(R0)	; APPLY SWITCHES TO FILE

    354	000616	000241 				CLC

    355	000620	000207 			20$:	RETURN

    356

    357						.DSABL	LSB

    358

    359		000001 				.END

GETFLS - FILE OPENING AND CLOSI	MACRO M1110  22-AUG-78 01:55  PAGE 2-7

SYMBOL TABLE



BAKR50= 006263   	C.FILD= 000016   	ERRXI2  000530R  	F.FACC= ****** GX	OUTFDB= ****** GX

CMDFDB= ****** GX	C.MKW1= 000024   	EWCOMM  000330R  	F.FNB = ****** GX	OUTSWT= ****** GX

CMDR50= 017764   	C.MKW2= 000026   	EWOPEN  000314R  	F.NRBD= ****** GX	PARSE   000532R

CSIBLK= ****** GX	C.SIZE= 000054   	FD.CR = ****** GX	F.RATT= ****** GX	PAR$$$= 000000

CS.DIF= 000002   	C.STAT= 000001   	FD.FTN= ****** GX	F.RTYP= ****** GX	PRSERR  000250R

CS.DVF= 000004   	C.SWAD= 000022   	FD.PRN= ****** GX	GETFLS  000000RG 	RSXD  = 000001

CS.EQU= 000040   	C.TYPR= 000000   	FILBUF= 000016   	GFLXIT  000510R  	R.SEQ = ****** GX

CS.INP= 000001   	EIOPEN  000206R  	FOPERR  000306R  	HGHPOS= ****** GX	SRCFDB= ****** GX

CS.MOR= 000020   	ERDIS = ****** GX	FO.RD = ****** GX	IE.NSF= ****** GX	SRCNAM= ****** GX

CS.NMF= 000001   	ERFCMS= ****** GX	FO.WRT= ****** GX	INDIR = ****** GX	STGSIZ= ****** GX

CS.OUT= 000002   	ERFIND= ****** GX	FSWIT   000556R  	LINSTR= ****** GX	$SAV5 = ****** GX

CS.WLD= 000010   	ERFLWC= ****** GX	F.BDB = ****** GX	MODE  = 000020   	.CSI1 = ****** G

C.CMLD= 000002   	ERFOPE= ****** GX	F.DFNB= ****** GX	NSF     000516R  	.CSI2 = ****** G

C.DEVD= 000006   	ERFSYN= ****** GX	F.DSPT= ****** GX	NUMFLG= ****** GX	.OPFNB= ****** G

C.DIRD= 000012   	EROPEN  000400R  	F.ERR = ****** GX	N.FTYP= ****** GX	.PARSE= ****** GX

C.DSDS= 000006   	ERRXIT  000526R



. ABS.	000000	   000

      	000622	   001

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  1937 WORDS  ( 8 PAGES)

DYNAMIC MEMORY:  2772 WORDS  ( 10 PAGES)

ELAPSED TIME:  00:00:13

OBJ$:GETFLS,LIS$:GETFLS/-SP=SRC$:RSXD,GETFLS

