FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      78  CLOSE FILE

   (1)     117  OPEN FILE

   (1)     257  READ FILE

   (1)     317  WRITE FILE

   (1)     386  LOCAL SUBROUTINES

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	FILECMDS - FILE I/O DCLS COMMAND EXECUTION

                                     0000     2 	.IDENT	/01/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1978

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

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

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

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

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

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

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

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

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

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

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

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

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 ;

                                     0000    23 ; D. N. CUTLER 12-FEB-78

                                     0000    24 ;

                                     0000    25 ; FILE I/O DCLS COMMAND EXECUTION

                                     0000    26 ;

                                     0000    27 ;	CLOSE FILE

                                     0000    28 ;	OPEN FILE

                                     0000    29 ;	READ FILE

                                     0000    30 ;	WRITE FILE

                                     0000    31 ;

                                     0000    32 ; MACRO LIBRARY CALLS

                                     0000    33 ;

                                     0000    34  

                                     0000    35 	DEFCMDWRK			;DEFINE WORK AREA OFFSETS

                                     0000    36 	DEFERRCOD			;DEFINE ERROR/STATUS CODES

                                     0000    37 	DEFPTRDSC			;DEFINE RESULT PARSE DESCRIPTOR FORMAT

                                     0000    38 	IDFDEF				;DEFINE INDIRECT FRAME OFFSETS

                                     0000    39 	$CLIDEFQUALOPEN			;DEFINE OPEN QUALIFIER VALUES

                                     0000    40 	$FABDEF				;DEFINE FAB OFFSETS

                                     0000    41 	$LOGDEF				;DEFINE LOG OFFSETS

                                     0000    42 	$NAMDEF				;DEFINE NAME BLOCK OFFSETS

                                     0000    43 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    44 	$RABDEF				;DEFINE RAB OFFSETS

                                     0000    45  

                                     0000    46 ;

                                     0000    47 ; LOCAL SYMBOLS

                                     0000    48 ;

                                     0000    49 ; PROCESS PERMANENT FILE PREFIX

                                     0000    50 ;

                                     0000    51  

                           0000001B  0000    52 ESCAPE=27				;

                                     0000    53  

                                     0000    54 ;

                                     0000    55 ; LOCAL DATA

                                     0000    56 ;

                                     0000    57 ; DATA INPUT PROMPT

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   2

01                                                                                                                               (1)



                                     0000    58 ;

                                     0000    59  

                                 00000000    60 	.PSECT	DCL$ZCODE,BYTE,RD,NOWRT

                                     0000    61 DATAP:					;

               09 3A 61 74 61 44 00' 0000    62 	.ASCIC	/Data:	/		;

                                 06  0000       

                                     0007    63  

                                     0007    64 ;

                                     0007    65 ; DEFAULT INPUT FILE NAME STRING

                                     0007    66 ;

                                     0007    67  

                                     0007    68 DFINP:					;

                     54 41 44 2E 00' 0007    69 	.ASCIC	/.DAT/			;

                                 04  0007       

                                     000C    70  

                                     000C    71 ;

                                     000C    72 ; DEFAULT OUTPUT FILE NAME STRING

                                     000C    73 ;

                                     000C    74  

                                     000C    75 DFOUT:					;

                     54 41 44 2E 00' 000C    76 	.ASCIC	/.DAT/			;

                                 04  000C       

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   3

01              CLOSE FILE                                                                                                       (1)



                                     0011    78 	.SBTTL	CLOSE FILE

                                     0011    79 ;+

                                     0011    80 ; DCL$CLOSE - CLOSE FILE

                                     0011    81 ;

                                     0011    82 ; THIS ROUTINE IS CALLED AS AN INTERNAL COMMAND TO EXECUTE THE CLOSE FILE DCLS

                                     0011    83 ; COMMAND.

                                     0011    84 ;

                                     0011    85 ; INPUTS:

                                     0011    86 ;

                                     0011    87 ;	R8 = ADDRESS OF SCRATCH BUFFER DESCRIPTOR.

                                     0011    88 ;	R9 = ADDRESS OF SCRATCH STACK.

                                     0011    89 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     0011    90 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     0011    91 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     0011    92 ;

                                     0011    93 ; OUTPUTS:

                                     0011    94 ;

                                     0011    95 ;	THE SPECIFIED FILE IS CLOSED.

                                     0011    96 ;-

                                     0011    97  

                                 00000011    98 	.PSECT	DCL$ZCODE,BYTE,RD,NOWRT

                                     0011    99 DCL$CLOSE::				;CLOSE FILE

                          028A   30  0011   100 	BSBW	GETID			;GET FILE IDENTIFICATION

            3A            50     E9  0014   101 	BLBC	R0,10$			;IF LBC FILE ID NOT FOUND

                          0263   30  0017   102 	BSBW	CHECKPPF		;CHECK FOR PROCESS PERMANENT FILE

                          35     13  001A   103 	BEQL	10$			;IF EQL YES

            7E            53     7D  001C   104 	MOVQ	R3,-(SP)		;BUILD LOGICAL NAME DECRIPTOR

            50            5E     D0  001F   105 	MOVL	SP,R0			;SAVE ADDRESS OF DESCRIPTOR

                                     0022   106 	$DELLOG_S #LOG$C_PROCESS,(R0),#PSL$C_SUPER ;DELETE LOGICAL NAME

            5E            08     C0  002F   107 	ADDL	#8,SP			;REMOVE DESCRIPTOR FROM STACK

            67            79     D0  0032   108 	MOVL	-(R9),(R7)		;REMOVE FILE DESCRIPTOR FROM LIST

            58         1C AB     D0  0035   109 	MOVL	PRC_L_INDFAB(R11),R8	;GET ADDRESS OF INDIRECT FAB

         02 A8         1C A9     B0  0039   110 	MOVW	RAB$L_CTX+4(R9),FAB$W_IFI(R8) ;INSERT INTERNAL FILE INDEX

            50            59     D0  003E   111 	MOVL	R9,R0			;SET ADDRESS OF BLOCK TO DEALLOCATE

            51         48 8F     9A  0041   112 	MOVZBL	#<RAB$C_BLN+4+7>&^C<7>,R1 ;SET LENGTH OF BLOCK TO DEALLOCATE

                          FFB8'  30  0045   113 	BSBW	DCL$DEADYNMEM		;DEALLOCATE FILE DESCRIPTOR BLOCK

                                     0048   114 	$CLOSE	FAB=(R8)		;CLOSE FILE

                                 05  0051   115 10$:	RSB				;

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   4

01              OPEN FILE                                                                                                        (1)



                                     0052   117 	.SBTTL	OPEN FILE

                                     0052   118 ;+

                                     0052   119 ; DCL$OPEN - OPEN FILE

                                     0052   120 ;

                                     0052   121 ; THIS ROUTINE IS CALLED AS AN INTERNAL COMMAND TO EXECUTE THE OPEN FILE DCLS

                                     0052   122 ; COMMAND.

                                     0052   123 ;

                                     0052   124 ; INPUTS:

                                     0052   125 ;

                                     0052   126 ;	R8 = ADDRESS OF SCRATCH BUFFER DESCRIPTOR.

                                     0052   127 ;	R9 = ADDRESS OF SCRATCH STACK.

                                     0052   128 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     0052   129 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     0052   130 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     0052   131 ;

                                     0052   132 ; OUTPUTS:

                                     0052   133 ;

                                     0052   134 ;	THE SPECIFIED FILE IS OPENED AND A FILE DESCRIPTOR IS CONSTRUCTED.

                                     0052   135 ;-

                                     0052   136  

                                     0052   137 DCL$OPEN::				;OPEN FILE

            58         1C AB     D0  0052   138 	MOVL	PRC_L_INDFAB(R11),R8	;GET ADDRESS OF INDIRECT FAB

                       02 A8     B4  0056   139 	CLRW	FAB$W_IFI(R8)		;CLEAR INTERNAL FILE INDEX

         35 A8         AB AF     90  0059   140 10$:	MOVB	DFINP,FAB$B_DNS(R8)	;SET SIZE OF DEFAULT NAME STRING

         30 A8         A7 AF     9E  005E   141 	MOVAB	DFINP+1,FAB$L_DNA(R8)	;SET ADDRESS OF DEFAULT NAME STRING

         16 A8            02     90  0063   142 	MOVB	#FAB$M_GET,FAB$B_FAC(R8) ;SET FILE ACCESS TYPE

         1D A8            00     90  0067   143 	MOVB	#FAB$C_SEQ,FAB$B_ORG(R8) ;SET FILE ORGANIZATION TYPE

         1E A8            02     90  006B   144 	MOVB	#FAB$M_CR,FAB$B_RAT(R8)	;SET RECORD ATTRIBUTES

         1F A8            02     90  006F   145 	MOVB	#FAB$C_VAR,FAB$B_RFM(R8) ;SET RECORD FORMAT

         04 A8   00040000 8F     D0  0073   146 	MOVL	#FAB$M_PPF,FAB$L_FOP(R8) ;SET FILE OPEN OPTIONS

                                     007B   147 20$:	GETDVAL				;GET NEXT DESCRIPTOR VALUES

            55            00     D1  007E   148 	CMPL	#PTR_K_COMDQUAL,R5	;COMMAND QUALIFIER?

                          24     12  0081   149 	BNEQ	30$			;IF NEQ NO

            51            03     D1  0083   150 	CMPL	#CLI$K_OPEN_READ,R1	;READ QUALIFER?

                          D1     13  0086   151 	BEQL	10$			;IF EQL YES

            51            04     D1  0088   152 	CMPL	#CLI$K_OPEN_WRIT,R1	;WRITE QUALIFIER?

                          EE     12  008B   153 	BNEQ	20$			;IF NEQ NO

         35 A8       FF7B CF     90  008D   154 	MOVB	DFOUT,FAB$B_DNS(R8)	;SET SIZE OF DEFAULT NAME STRING

         30 A8       FF76 CF     9E  0093   155 	MOVAB	DFOUT+1,FAB$L_DNA(R8)	;SET ADDRESS OF DEFAULT NAME STRING

         16 A8            01     90  0099   156 	MOVB	#FAB$M_PUT,FAB$B_FAC(R8) ;SET FILE ACCESS TYPE

         1E A8            04     90  009D   157 	MOVB	#FAB$M_PRN,FAB$B_RAT(R8) ;SET RECORD ATTRIBUTE TYPE

         1F A8            03     90  00A1   158 	MOVB	#FAB$C_VFC,FAB$B_RFM(R8) ;SET RECORD FORMAT

                          D4     11  00A5   159 	BRB	20$			;

                          7A     D5  00A7   160 30$:	TSTL	-(R10)			;BACK UP TO PREVIOUS DESCRIPTOR

                          01F2   30  00A9   161 	BSBW	GETID			;GET FILE ID

            54            50     E8  00AC   162 	BLBS	R0,60$			;IF LBS FILE ALREADY DEFINED

            56            53     7D  00AF   163 	MOVQ	R3,R6			;SAVE LOGICAL NAME PARAMETERS

            51         48 8F     9A  00B2   164 	MOVZBL	#<RAB$C_BLN+4+7>&^C<7>,R1 ;GET SIZE OF BLOCK REQUIRED

                          FF47'  30  00B6   165 	BSBW	DCL$ALLDYNMEM		;ALLOCATE FILE DESCRIPTOR BLOCK

            43            50     E9  00B9   166 	BLBC	R0,50$			;IF LBC ALLOCATION FAILURE

            59            52     D0  00BC   167 	MOVL	R2,R9			;SAVE ADDRESS OF ALLOCATED BLOCK

                                     00BF   168 	GETDVAL				;GET FILE DESCRIPTOR VALUES

         34 A8            51     90  00C2   169 	MOVB	R1,FAB$B_FNS(R8)	;SET SIZE OF FILE NAME

         2C A8            52     D0  00C6   170 	MOVL	R2,FAB$L_FNA(R8)	;SET ADDRESS OF FILE NAME

         36 A8         FF 8F     9B  00CA   171 	MOVZBW	#255,FAB$W_MRS(R8)	;SET MAXIMUM RECORD SIZE

         54 AB            04     A8  00CF   172 	BISW	#PRC_M_DISABL,PRC_W_FLAGS(R11) ;DISABLE CONTROL Y/C AST'S

         16 A8            02     91  00D3   173 	CMPB	#FAB$M_GET,FAB$B_FAC(R8) ;OPEN FILE FOR INPUT?

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   5

01              OPEN FILE                                                                                                        (1)



                          2B     12  00D7   174 	BNEQ	70$			;IF NEQ NO

                                     00D9   175  

                                     00D9   176 ;

                                     00D9   177 ; OPEN FILE FOR READ ACCESS

                                     00D9   178 ;

                                     00D9   179  

                                     00D9   180 	$OPEN	FAB=(R8)		;OPEN INPUT FILE

            51            50     E9  00E2   181 	BLBC	R0,90$			;IF LBC OPEN FAILURE

         08 BB       0044 8F     28  00E5   182 	MOVC	#RAB$C_BLN,@PRC_L_INPRAB(R11),4(R9) ;COPY INPUT RAB

                       04 A9         00EB       

                       06 A9     B4  00ED   183 	CLRW	RAB$W_ISI+4(R9)		;CLEAR INTERNAL STREAM INDEX

                                     00F0   184 	$CONNECT RAB=4(R9)		;CONNECT RECORD STREAM

            2B            50     E9  00FA   185 	BLBC	R0,80$			;IF LBC CONNECT FAILURE

                          4D     11  00FD   186 	BRB	110$			;

                                     00FF   187  

                                     00FF   188 ;

                                     00FF   189 ; SYMBOL TABLE OVERFLOW

                                     00FF   190 ;

                                     00FF   191  

                                     00FF   192 50$:	STATUS	SYMOVF			;SET SYMBOL TABLE OVERFLOW

                                 05  0103   193 60$:	RSB				;

                                     0104   194  

                                     0104   195 ;

                                     0104   196 ; OPEN FILE FOR WRITE ACCESS

                                     0104   197 ;

                                     0104   198  

                                     0104   199 70$:	$CREATE	FAB=(R8)		;CREATE OUTPUT FILE

            26            50     E9  010D   200 	BLBC	R0,90$			;IF LBC CREATE FAILURE

         0C BB       0044 8F     28  0110   201 	MOVC	#RAB$C_BLN,@PRC_L_OUTRAB(R11),4(R9) ;COPY OUTPUT RAB

                       04 A9         0116       

                       06 A9     B4  0118   202 	CLRW	RAB$W_ISI+4(R9)		;CLEAR INTERNAL STREAM INDEX

                                     011B   203 	$CONNECT RAB=4(R9)		;CONNECT RECORD STREAM

            1E            50     E8  0125   204 	BLBS	R0,100$			;IF LBS SUCCESSFUL CONNECT

                                     0128   205  

                                     0128   206 ;

                                     0128   207 ; CONNECT OR LOGICAL NAME CREATION FAILURE

                                     0128   208 ;

                                     0128   209  

                          50     DD  0128   210 80$:	PUSHL	R0			;SAVE STATUS

                                     012A   211 	$CLOSE	FAB=(R8)		;CLOSE FILE

                          50   8ED0  0133   212 	POPL	R0			;RETREIVE STATUS

                                     0136   213  

                                     0136   214 ;

                                     0136   215 ; OPEN FAILURE

                                     0136   216 ;

                                     0136   217  

                          50     DD  0136   218 90$:	PUSHL	R0			;SAVE STATUS

            50            59     D0  0138   219 	MOVL	R9,R0			;SET ADDRESS OF BLOCK TO DEALLOCATE

            51         48 8F     9A  013B   220 	MOVZBL	#<RAB$C_BLN+4+7>&^C<7>,R1 ;SET SIZE OF BLOCK TO RELEASE

                          FEBE'  30  013F   221 	BSBW	DCL$DEADYNMEM		;DEALLOCATE FILE DESCRIPTOR BLOCK

                          50   8ED0  0142   222 	POPL	R0			;RESTORE STATUS

                                 05  0145   223 	RSB				;

                                     0146   224  

                                     0146   225 ;

                                     0146   226 ; SET IMPLIED CARRIAGE CONTROL IN ISI VALUE

                                     0146   227 ;

                                     0146   228  

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   6

01              OPEN FILE                                                                                                        (1)



                          02     F0  0146   229 100$:	INSV	#FAB$M_CR,#RAB$V_PPF_RAT,- ;SET IMPLIED CARRIAGE CONTROL

            08            06         0148   230 		#RAB$S_PPF_RAT,RAB$W_ISI+4(R9) ;

                       06 A9         014A       

                                     014C   231  

                                     014C   232 ;

                                     014C   233 ; FILE SUCCESSFULLY OPEN - CREATE LOGICAL NAME AND MERGE INTO FILE DESCRIPTOR LIST

                                     014C   234 ;

                                     014C   235  

            5A         28 A8     D0  014C   236 110$:	MOVL	FAB$L_NAM(R8),R10	;GET ADDRESS OF NAME BLOCK

            5E            10     C2  0150   237 	SUBL	#16,SP			;ALLOCATE SPACE TO STORE DEVICE NAME

            50         14 AA     9A  0153   238 	MOVZBL	NAM$T_DVI(R10),R0	;GET LENGTH OF DEVICE NAME

         15 AA            50     28  0157   239 	MOVC	R0,NAM$T_DVI+1(R10),1(SP) ;COPY DEVICE IDENTIFICATION

                       01 AE         015B       

            6E         5F 8F     90  015D   240 	MOVB	#^A/_/,(SP)		;INSERT PHYSICAL DEVICE DESIGNATOR

                          1B     DD  0161   241 	PUSHL	#ESCAPE			;BUILD INTERNAL FILE INDEX STRING

         02 AE         02 A8     B0  0163   242 	MOVW	FAB$W_IFI(R8),2(SP)	;

                          6E     9F  0168   243 	PUSHAB	(SP)			;BUILD EQUIVALENCE NAME DESCRIPTOR

            50         14 AA     9A  016A   244 	MOVZBL	NAM$T_DVI(R10),R0	;GET LENGTH OF DEVICE NAME

                       05 A0     9F  016E   245 	PUSHAB	5(R0)			;SET LENGTH OF EQUIVALENCE STRING

            50            5E     D0  0171   246 	MOVL	SP,R0			;SAVE ADDRESS OF EQUIVALENCE DESCRIPTOR

            7E            56     7D  0174   247 	MOVQ	R6,-(SP)		;BUILD LOGICAL NAME DESCRIPTOR

            51            5E     D0  0177   248 	MOVL	SP,R1			;SAVE ADDRESS OF LOGICAL NAME DESCRIPTOR

                                     017A   249 	$CRELOG_S #LOG$C_PROCESS,(R1),(R0),#PSL$C_SUPER ;CREATE LOGICAL NAME

            5E            24     C0  0189   250 	ADDL	#16+4+8+8,SP		;REMOVE DESCRIPTOR FROM STACK

            99            50     E9  018C   251 	BLBC	R0,80$			;IF LBC CREATION FAILURE

         1C A9         02 A8     B0  018F   252 	MOVW	FAB$W_IFI(R8),RAB$L_CTX+4(R9) ;SAVE INTERNAL FILE INDEX

            69         5C AB     D0  0194   253 	MOVL	PRC_L_CLIWRK0(R11),(R9)	;INSERT NEW FILE DESCRIPTOR INTO LIST

         5C AB            59     D0  0198   254 	MOVL	R9,PRC_L_CLIWRK0(R11)	;

                                 05  019C   255 	RSB				;

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   7

01              READ FILE                                                                                                        (1)



                                     019D   257 	.SBTTL	READ FILE

                                     019D   258 ;+

                                     019D   259 ; DCL$READ - READ FILE

                                     019D   260 ;

                                     019D   261 ; THIS ROUTINE IS CALLED AS AN INTERNAL COMMAND TO EXECUTE THE READ FILE DCLS

                                     019D   262 ; COMMAND.

                                     019D   263 ;

                                     019D   264 ; INPUTS:

                                     019D   265 ;

                                     019D   266 ;	R8 = ADDRESS OF SCRATCH BUFFER DESCRIPTOR.

                                     019D   267 ;	R9 = ADDRESS OF SCRATCH STACK.

                                     019D   268 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     019D   269 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     019D   270 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     019D   271 ;

                                     019D   272 ; OUTPUTS:

                                     019D   273 ;

                                     019D   274 ;	A RECORD IS READ FROM THE SPECIFIED FILE AND STORED IN THE SPECIFIED

                                     019D   275 ;	STRING VARIABLE.

                                     019D   276 ;-

                                     019D   277  

                                     019D   278 DCL$READ::				;READ FILE

                          00FE   30  019D   279 	BSBW	GETID			;GET FILE IDENTIFICATION

            66            50     E9  01A0   280 	BLBC	R0,40$			;IF LBC SEARCH FAILURE

                                     01A3   281 	GETDVAL				;GET DESCRIPTOR VALUES

            53            51     7D  01A6   282 	MOVQ	R1,R3			;SAVE SYMBOL NAME DESCRIPTOR

                                     01A9   283 	CHKALPHA			;CHECK IF FIRST CHARACTER IS LEGAL

            16            50     E9  01AC   284 	BLBC	R0,20$			;IF LBC NO

                          51     D7  01AF   285 10$:	DECL	R1			;ANY MORE CHARACTERS TO CHECK?

                          18     15  01B1   286 	BLEQ	30$			;IF LEQ NO

                          52     D6  01B3   287 	INCL	R2			;POINT TO NEXT CHARACTER

                                     01B5   288 	CHKALPHA			;CHECK IF ALPHABETIC, DOLLAR, OR UNDERSCORE

            F4            50     E8  01B8   289 	BLBS	R0,10$			;IF LBS YES

            62            30     91  01BB   290 	CMPB	#^A/0/,(R2)		;POSSIBLY NUMERIC?

                          05     1A  01BE   291 	BGTRU	20$			;IF GTRU NO

            62            39     91  01C0   292 	CMPB	#^A/9/,(R2)		;NUMERIC?

                          EA     1E  01C3   293 	BGEQU	10$			;IF GEQU YES

                                     01C5   294 20$:	STATUS	IVSYMB			;SET INVALID SYMBOL STATUS

                          00A6   31  01C8   295 	BRW	DSPXIT			;

                                     01CB   296  

                                     01CB   297 ;

                                     01CB   298 ; SYMBOL NAME IS LEGAL - READ RECORD

                                     01CB   299 ;

                                     01CB   300  

         20 A9         FF 8F     9B  01CB   301 30$:	MOVZBW	#255,RAB$W_USZ(R9)	;SET SIZE OF RECORD BUFFER

            58       FE37 CD     9E  01D0   302 	MOVAB	WRK_AB_BUFFER+255(FP),R8 ;GET ADDRESS OF INPUT BUFFER

         24 A9            58     D0  01D5   303 	MOVL	R8,RAB$L_UBF(R9)	;SET ADDRESS OF RECORD BUFFER

         34 A9       FE23 CF     90  01D9   304 	MOVB	DATAP,RAB$B_PSZ(R9)	;SET SIZE OF PROMPT STRING

         30 A9       FE1E CF     9E  01DF   305 	MOVAB	DATAP+1,RAB$L_PBF(R9)	;SET ADDRESS OF PROMPT STRING

         54 AB            04     A8  01E5   306 	BISW	#PRC_M_DISABL,PRC_W_FLAGS(R11) ;DISABLE CONTROL Y/C AST'S

                                     01E9   307 	$GET	RAB=(R9)		;READ NEXT RECORD FROM FILE

            14            50     E9  01F2   308 	BLBC	R0,40$			;IF LBC I/O ERROR

            51         22 A9     3C  01F5   309 	MOVZWL	RAB$W_RSZ(R9),R1	;GET SIZE OF RECORD READ

            52            58     D0  01F9   310 	MOVL	R8,R2			;SET ADDRESS OF RECORD READ

            55         38 AB     9E  01FC   311 	MOVAB	PRC_Q_LOCAL(R11),R5	;SET ADDRESS OF SYMBOL TABLE LISTHEAD

                                     0200   312 	ALLOCSYM			;ALLOCATE AND INSERT SYMBOL IN TABLE

            03            50     E9  0203   313 	BLBC	R0,40$			;IF LBC ALLOCATION FAILURE

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   8

01              READ FILE                                                                                                        (1)



                                     0206   314 	STATUS	NORMAL			;SET NORMAL COMPLETION STATUS

                                 05  0209   315 40$:	RSB				;

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page   9

01              WRITE FILE                                                                                                       (1)



                                     020A   317 	.SBTTL	WRITE FILE

                                     020A   318 ;+

                                     020A   319 ; DCL$WRITE - WRITE FILE

                                     020A   320 ;

                                     020A   321 ; THIS ROUTINE IS CALLED AS AN INTERNAL COMMAND TO EXECUTE THE WRITE FILE DCLS

                                     020A   322 ; COMMAND.

                                     020A   323 ;

                                     020A   324 ; INPUTS:

                                     020A   325 ;

                                     020A   326 ;	R8 = ADDRESS OF SCRATCH BUFFER DESCRIPTOR.

                                     020A   327 ;	R9 = ADDRESS OF SCRATCH STACK.

                                     020A   328 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     020A   329 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     020A   330 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     020A   331 ;

                                     020A   332 ; OUTPUTS:

                                     020A   333 ;

                                     020A   334 ;	THE SPECIFIED LIST OF STRING VARIABLES IS COLLECTED TOGETHER INTO A

                                     020A   335 ;	SINGLE RECORD AND WRITTEN TO THE SPECIFIED FILE.

                                     020A   336 ;-

                                     020A   337  

                                     020A   338 DCL$WRITE::				;WRITE FILE

                          0091   30  020A   339 	BSBW	GETID			;GET FILE IDENTIFICATION

            59            50     E9  020D   340 	BLBC	R0,50$			;IF LBC SEARCH FAILURE

            58       FE37 CD     9E  0210   341 	MOVAB	WRK_AB_BUFFER+255(FP),R8 ;GET ADDRESS OF OUTPUT BUFFER

         28 A9            58     D0  0215   342 	MOVL	R8,RAB$L_RBF(R9)	;SET ADDRESS OF OUTPUT BUFFER

            57            58     D0  0219   343 	MOVL	R8,R7			;COPY ADDRESS OF OUTPUT BUFFER

            58       00FF C8     9E  021C   344 	MOVAB	255(R8),R8		;CALCULATE ENDING ADDRESS OF OUTPUT BUFFER

                                     0221   345 10$:	GETDVAL				;GET DESCRIPTOR VALUES

            56            54     D0  0224   346 	MOVL	R4,R6			;SAVE TERMINATOR CLASS NUMBER

            55            62     9A  0227   347 	MOVZBL	(R2),R5			;SAVE STARTING CHARACTER OF PARAMETER

                                     022A   348 	COMPSTRING			;COMPRESS STRING

            7E            51     7D  022D   349 	MOVQ	R1,-(SP)		;SAVE COMPRESSED STRING DESCRIPTOR

            55            22     91  0230   350 	CMPB	#^A/"/,R5		;STRING LITERAL?

                          06     13  0233   351 	BEQL	20$			;IF EQL YES

                                     0235   352 	SEARCH				;SEARCH FOR SYMBOL DEFINITION

            2F            50     E9  0238   353 	BLBC	R0,60$			;IF LBC SEARCH FAILURE

                                     023B   354 20$:	STATUS	BUFOVF			;ASSUME OUTPUT BUFFER WILL OVERFLOW

            53            8E     7D  023E   355 	MOVQ	(SP)+,R3		;RETRIEVE SAVED STRING DESCRIPTOR

                          51     D7  0241   356 30$:	DECL	R1			;ANY MORE CHARACTERS TO MOVE?

                          0A     19  0243   357 	BLSS	40$			;IF LSS NO

            58            57     D1  0245   358 	CMPL	R7,R8			;ANY ROOM IN OUTPUT BUFFER?

                          27     13  0248   359 	BEQL	DSPXIT			;IF EQL NO

            87            82     90  024A   360 	MOVB	(R2)+,(R7)+		;MOVE CHARACTER TO OUTPUT BUFFER

                          F2     11  024D   361 	BRB	30$			;

            56            05     D1  024F   362 40$:	CMPL	#PTR_K_COMMA,R6		;ANY MORE PARAMETERS TO COLLECT?

                          CD     13  0252   363 	BEQL	10$			;IF EQL YES

            57         28 A9     C2  0254   364 	SUBL	RAB$L_RBF(R9),R7	;CALCULATE LENGTH OF OUTPUT RECORD

         22 A9            57     B0  0258   365 	MOVW	R7,RAB$W_RSZ(R9)	;SET LENGTH OF OUTPUT RECORD

         54 AB            04     A8  025C   366 	BISW	#PRC_M_DISABL,PRC_W_FLAGS(R11) ;DISABLE CONTROL Y/C AST'S

                                     0260   367 	$PUT	RAB=(R9)		;OUTPUT RECORD

                                 05  0269   368 50$:	RSB				;

                                     026A   369  

                                     026A   370 ;

                                     026A   371 ; UNDEFINED SYMBOL

                                     026A   372 ;

                                     026A   373  

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  10

01              WRITE FILE                                                                                                       (1)



            53            8E     7D  026A   374 60$:	MOVQ	(SP)+,R3		;RETREIVE STRING DESCRIPTOR

                                     026D   375 	STATUS	UNDSYM			;SET UNDEFINED SYMBOL STATUS

                                     0271   376  

                                     0271   377 ;

                                     0271   378 ; CALCULATE ADDRESS OF DISPLAY SEGMENT AND CLEAR COMMAND IN EXECUTION

                                     0271   379 ;

                                     0271   380  

            56            54     D0  0271   381 DSPXIT:	MOVL	R4,R6			;SET ADDRESS OF DISPLAY SEGMENT

            54            53     C1  0274   382 	ADDL3	R3,R4,R9		;CALCULATE ENDING ADDRESS OF DISPLAY SEGMENT

                          59         0277       

         FA AD            02     AA  0278   383 	BICW	#WRK_M_COMMAND,WRK_W_FLAGS(FP) ;CLEAR COMMAND IN EXECUTION

                                 05  027C   384 	RSB				;

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  11

01              LOCAL SUBROUTINES                                                                                                (1)



                                     027D   386 	.SBTTL	LOCAL SUBROUTINES

                                     027D   387 ;+

                                     027D   388 ; CHECKPPF - CHECK FOR PROCESS PERMANENT FILE

                                     027D   389 ;

                                     027D   390 ; THIS ROUTINE IS CALLED TO CHECK IF AN ISI VALUE IS FOR A PROCESS PERMANENT FILE.

                                     027D   391 ;

                                     027D   392 ; INPUTS:

                                     027D   393 ;

                                     027D   394 ;	R6 = ISI VALUE.

                                     027D   395 ;

                                     027D   396 ; OUTPUTS:

                                     027D   397 ;

                                     027D   398 ;	Z = 0 IF NOT PROCESS PERMANENT FILE.

                                     027D   399 ;

                                     027D   400 ;	Z = 1 IF PROCESS PERMANENT FILE WITH:

                                     027D   401 ;

                                     027D   402 ;		R5 = ADDRESS OF ASSOCIATED RAB.

                                     027D   403 ;-

                                     027D   404  

                                     027D   405 CHECKPPF:				;CHECK FOR PROCESS PERMANENT FILE

            51       0084 CB     D0  027D   406 	MOVL	PRC_L_STACKPT(R11),R1	;GET CURRENT INDIRECT STACK POINTER

            55         14 AB     D0  0282   407 	MOVL	PRC_L_INDINPRAB(R11),R5	;GET ADDRESS OF CURRENT INPUT RAB

            61            56     B1  0286   408 	CMPW	R6,IDF_W_INPIFI(R1)	;IFI MATCH?

                          12     13  0289   409 	BEQL	10$			;IF EQL YES

            55         18 AB     D0  028B   410 	MOVL	PRC_L_INDOUTRAB(R11),R5	;GET ADDRESS OF CURRENT OUTPUT RAB

         02 A1            56     B1  028F   411 	CMPW	R6,IDF_W_OUTIFI(R1)	;IFI MATCH?

                          08     13  0293   412 	BEQL	10$			;IF EQL YES

            55         10 AB     D0  0295   413 	MOVL	PRC_L_ERRRAB(R11),R5	;GET ADDRESS OF CURRENT ERROR RAB

         52 AB            56     B1  0299   414 	CMPW	R6,PRC_W_ERRIFI(R11)	;IFI MATCH?

                                 05  029D   415 10$:	RSB				;

                                     029E   416  

                                     029E   417 ;+

                                     029E   418 ; GETID - GET FILE ID

                                     029E   419 ;

                                     029E   420 ; THIS ROUTINE IS CALLED TO CONVERT THE FILE IDENTIFIER TO BINARY AND SEARCH THE

                                     029E   421 ; FILE DESCRIPTOR LIST FOR A MATCH.

                                     029E   422 ;

                                     029E   423 ; INPUTS:

                                     029E   424 ;

                                     029E   425 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     029E   426 ;

                                     029E   427 ; OUTPUTS:

                                     029E   428 ;

                                     029E   429 ;	R0 LOW BIT CLEAR INDICATES FAILURE TO FIND SPECIFIED FILE ID.

                                     029E   430 ;

                                     029E   431 ;	R0 LOW BIT SET INDICATES SUCCESSFUL FILE DESCRIPTOR LIST SEARCH WITH:

                                     029E   432 ;

                                     029E   433 ;		R3 = LENGTH OF LOCIAL FILE NAME.

                                     029E   434 ;		R4 = ADDRESS OF LOGICAL FILE NAME.

                                     029E   435 ;		R5 = ADDRESS OF FILE DESCRIPTOR BLOCK.

                                     029E   436 ;		R6 = FILE IDENTIFICATION NUMBER.

                                     029E   437 ;		R7 = ADDRESS OF PREVIOUS FILE DESCRIPTOR.

                                     029E   438 ;		R9 = ADDRESS OF ASSOCIATED RAB.

                                     029E   439 ;-

                                     029E   440  

                                     029E   441 GETID:					;GET FILE ID

                                     029E   442 10$:	GETDVAL				;GET DESCRIPTOR VALUES

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  12

01              LOCAL SUBROUTINES                                                                                                (1)



            55            03     D1  02A1   443 	CMPL	#PTR_K_PARAMETR,R5	;PARAMETER DESCRIPTOR?

                          F8     12  02A4   444 	BNEQ	10$			;IF NEQ NO

                                     02A6   445 	COMPSTRING			;COMPRESS LOGICAL FILE NAME

            53            51     7D  02A9   446 	MOVQ	R1,R3			;SAVE LOGICAL FILE PARAMETERS

            7E            51     7D  02AC   447 	MOVQ	R1,-(SP)		;BUILD LOGICAL NAME DESCRIPTOR

            55            5E     D0  02AF   448 	MOVL	SP,R5			;SAVE ADDRESS OF LOGICAL NAME DESCRIPTOR

            56         40 8F     9A  02B2   449 	MOVZBL	#LOG$C_NAMLENGTH,R6	;GET MAXIMUM LENGTH OF LOGICAL NAME

            5E            56     C2  02B6   450 	SUBL	R6,SP			;ALLOCATE LOGICAL NAME TRANSLATION BUFFER

                          6E     9F  02B9   451 	PUSHAB	(SP)			;BUILD TRANSLATION BUFFER DESCRIPTOR

                          56     DD  02BB   452 	PUSHL	R6			;

            56            5E     D0  02BD   453 	MOVL	SP,R6			;SAVE ADDRESS OF BUFFER DESCRIPTOR

            52            0A     D0  02C0   454 	MOVL	#10,R2			;SET MAXIMUM LOOP COUNT

                                     02C3   455 20$:	$TRNLOG_S (R5),(R5),(R6)	;TRANSLATE LOGICAL NAME

            50            00'    B1  02D6   456 	CMPW	S^#SS$_NORMAL,R0	;NORMAL COMPLETION?

                          40     12  02D9   457 	BNEQ	80$			;IF NEQ NO

            65            04     B1  02DB   458 	CMPW	#4,(R5)			;TRANSLATED NAME LARGE ENOUGH?

                          06     1A  02DE   459 	BGTRU	30$			;IF GTRU NO

         08 A6            1B     B1  02E0   460 	CMPW	#ESCAPE,8(R6)		;PROCESS PERMANENT FILE IFI?

                          0A     13  02E4   461 	BEQL	40$			;IF EQL YES

         04 A5         04 A6     D0  02E6   462 30$:	MOVL	4(R6),4(R5)		;SET FOR NEXT TRANSLATION

            D5            52     F5  02EB   463 	SOBGTR	R2,20$			;ANY MORE TANSLATIONS LEFT?

                          2B     11  02EE   464 	BRB	80$			;

            56         0A A6     B0  02F0   465 40$:	MOVW	10(R6),R6		;GET INTERNAL FILE INDEX

            5E         50 AE     9E  02F4   466 	MOVAB	LOG$C_NAMLENGTH+8+8(SP),SP ;REMOVE LOGICAL NAMES FROM STACK

                          FF82   30  02F8   467 	BSBW	CHECKPPF		;CHECK IF PROCESS PERMANENT FILE

                          16     13  02FB   468 	BEQL	70$			;IF EQL YES

            57         5C AB     9E  02FD   469 	MOVAB	PRC_L_CLIWRK0(R11),R7	;GET ADDRESS OF PREVIOUS FILE DESCRIPTOR

            55            67     D0  0301   470 50$:	MOVL	(R7),R5			;GET ADDRESS OF NEXT FILE DESCRIPTOR

                          19     13  0304   471 	BEQL	85$			;IF EQL END OF LIST

         1C A5            56     B1  0306   472 	CMPW	R6,RAB$L_CTX+4(R5)	;FILE IDENTIFICATION MATCH?

                          05     13  030A   473 	BEQL	60$			;IF EQL YES

            57            55     D0  030C   474 	MOVL	R5,R7			;SAVE ADDRESS OF PREVIOUS ENTRY

                          F0     11  030F   475 	BRB	50$			;

                          85     D5  0311   476 60$:	TSTL	(R5)+			;POINT TO ACTUAL RAB

            59            55     D0  0313   477 70$:	MOVL	R5,R9			;SET ADDRESS OF ASSOCIATED RAB

                                     0316   478 	STATUS	NORMAL			;SET NORMAL COMPLETION STATUS

                          08     11  0319   479 	BRB	90$			;

                                     031B   480  

                                     031B   481 ;

                                     031B   482 ; FILE IDENTIFICATION NOT FOUND

                                     031B   483 ;

                                     031B   484  

            5E         50 AE     9E  031B   485 80$:	MOVAB	LOG$C_NAMLENGTH+8+8(SP),SP ;REMOVE LOGICAL NAMES FROM STACK

                                     031F   486 85$:	STATUS	UNDFIL			;SET UNDEFINED FILE STATUS

                                     0323   487  

                                     0323   488 ;

                                     0323   489 ; CALL THE CALLER BACK AS A CO-ROUTINE SO THAT /END= AND /ERR= QUALIFIERS CAN BE

                                     0323   490 ; PROCESSED IN ONE PLACE.

                                     0323   491 ;

                                     0323   492  

                          9E     16  0323   493 90$:	JSB	@(SP)+			;CALL CALLER BACK

            13            50     E8  0325   494 	BLBS	R0,110$			;IF LBS SUCCESSFUL COMPLETION

            57            01     9A  0328   495 	MOVZBL	#CLI$K_OPEN_END_,R7	;ASSUME END OF FILE

            50   00000000'8F     D1  032B   496 	CMPL	#RMS$_EOF,R0		;END OF FILE?

                          02     12  0332   497 	BNEQ	100$			;IF NEQ NO

                          06     10  0334   498 	BSBB	LABEL_CHECK		;CHECK FOR END OF FILE LABEL

            57            02     9A  0336   499 100$:	MOVZBL	#CLI$K_OPEN_ERRO,R7	;SET FOR ERROR

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  13

01              LOCAL SUBROUTINES                                                                                                (1)



                          01     10  0339   500 	BSBB	LABEL_CHECK		;CHECK FOR ERROR LABEL

                                 05  033B   501 110$:	RSB				;

                                     033C   502  

                                     033C   503 ;+

                                     033C   504 ; LABEL_CHECK - CHECK FOR LABEL

                                     033C   505 ;

                                     033C   506 ; THIS ROUTINE IS CALLED TO SCAN THE COMMAND LEVEL QUALIFIERS FOR AN /ERROR=

                                     033C   507 ; OF /END_OF_FILE= QUALIFIER.

                                     033C   508 ;

                                     033C   509 ; INPUTS:

                                     033C   510 ;

                                     033C   511 ;	R7 = TYPE OF QUALIFIER TO SCAN FOR.

                                     033C   512 ;	R8 = SAVED FINAL STATUS VALUE.

                                     033C   513 ;

                                     033C   514 ; OUTPUTS:

                                     033C   515 ;

                                     033C   516 ;	THE RESULT PARSE TABLE IS SCANNED FOR A QUALIFIER TYPE MATCH. IF A MATCH

                                     033C   517 ;	IS FOUND, THEN A GOTO THE SPECIFIED LABEL IS EXECUTED. ELSE A RETURN TO

                                     033C   518 ;	THE CALLER IS EXECUTED.

                                     033C   519 ;-

                                     033C   520  

                                     033C   521 LABEL_CHECK:				;CHECK LABEL

            5A       FBB4 CD     9E  033C   522 	MOVAB	WRK_AG_RESULT(FP),R10	;RELOAD RESULT DESCRIPTOR POINTER

            58            50     D0  0341   523 	MOVL	R0,R8			;SAVE FINAL STATUS VALUE

                                     0344   524 10$:	GETDVAL				;GET NEXT DESCRIPTOR VALUES

            55            04     D1  0347   525 	CMPL	#PTR_K_ENDLINE,R5	;END OF DESCRIPTORS?

                          0F     13  034A   526 	BEQL	20$			;IF EQL YES

            55            00     D1  034C   527 	CMPL	#PTR_K_COMDQUAL,R5	;COMMAND QUALIFIER?

                          F3     12  034F   528 	BNEQ	10$			;IF NEQ NO

            57            51     D1  0351   529 	CMPL	R1,R7			;QUALIFIER TYPE MATCH?

                          EE     12  0354   530 	BNEQ	10$			;IF NEQ NO

                          8E     D5  0356   531 	TSTL	(SP)+			;REMOVE RETURN FROM STACK

                          FCA5'  31  0358   532 	BRW	DCL$GOTO		;EXECUTE GOTO

            50            58     D0  035B   533 20$:	MOVL	R8,R0			;RESTORE FINAL STATUS

                                 05  035E   534 	RSB				;

                                     035F   535  

                                     035F   536 	.END

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



$$$            = 00000004            CLI$_NOTNEG    = 000380D8            FAB$B_RFM        0000001F            

$$$GBL         = 00000000            CLI$_NOVALU    = 000380D0            FAB$B_RTV        0000001C            

$$.TMP1        = 00000001            CLI$_NOVALUE   = 0003882A            FAB$B_SHR        00000017            

$$.TMP2        = 00000069            CLI$_NULFIL    = 000380E0            FAB$C_BID      = 00000003            

$QUALNUM$      = 00000005            CLI$_NUMBER    = 000380E8            FAB$C_BLN        00000050            

BIT...         = 00000020            CLI$_ONCOMD    = 000380F0            FAB$C_FIX      = 00000001            

CHECKPPF         0000027D R     03   CLI$_ONERR     = 000380F8            FAB$C_HSH      = 00000030            

CLI$K_OPEN_END_= 00000001            CLI$_ONEVAL    = 00038158            FAB$C_IDX      = 00000020            

CLI$K_OPEN_ERRO= 00000002            CLI$_ONLEVL    = 00038100            FAB$C_MAXRFM   = 00000003            

CLI$K_OPEN_READ= 00000003            CLI$_ONOVF     = 00038108            FAB$C_REL      = 00000010            

CLI$K_OPEN_WRIT= 00000004            CLI$_OVRFLW    = 00038160            FAB$C_RFM_DFLT = 00000002            

CLI$_ABFNAM    = 000381B8            CLI$_PARMDEL   = 00038110            FAB$C_SEQ      = 00000000            

CLI$_ABKEYW    = 00038000            CLI$_PROC_ID   = 0003FFF1            FAB$C_UDF      = 00000000            

CLI$_ABVERB    = 00038008            CLI$_QUEJOBCRE = 0003FFF9            FAB$C_VAR      = 00000002            

CLI$_BADRET    = 00038198            CLI$_REQPRMABS = 00038812            FAB$C_VFC      = 00000003            

CLI$_BADTEXT   = 000381B0            CLI$_RSLOVF    = 00038118            FAB$K_BLN        00000050            

CLI$_BUFOVF    = 00038018            CLI$_SKPDAT    = 00038120            FAB$L_ALQ        00000010            

CLI$_COMPLX    = 00038020            CLI$_SPARE0    = 00038010            FAB$L_CTX        00000018            

CLI$_CONFQUAL  = 00038802            CLI$_SPARE1    = 00038058            FAB$L_DEV        00000040            

CLI$_CREQUEJOB = 0003884A            CLI$_STKOVF    = 00038128            FAB$L_DNA        00000030            

CLI$_DEFOVF    = 00038028            CLI$_SUBMITERR = 00038852            FAB$L_FNA        0000002C            

CLI$_DEVALSPL  = 0003885A            CLI$_SYMDEL    = 00038130            FAB$L_FOP        00000004            

CLI$_DEVNOTFOR = 0003887A            CLI$_SYMOVF    = 00038138            FAB$L_JNL        00000020            

CLI$_DEVNOTSPL = 00038862            CLI$_UNDFIL    = 00038188            FAB$L_MRN        00000038            

CLI$_DIRECT    = 00038030            CLI$_UNDSYM    = 00038140            FAB$L_NAM        00000028            

CLI$_EXPSYN    = 00038038            CLI$_UNPROPARM = 00038170            FAB$L_SDC        00000044            

CLI$_FILOPN    = 00038190            CLI$_UNPROQUAL = 00038168            FAB$L_STS        00000008            

CLI$_ILLVAL    = 0003883A            CLI$_USGOTO    = 00038148            FAB$L_STV        0000000C            

CLI$_IMCHNG    = 00038040            CLI$_VALCNVERR = 00038832            FAB$L_XAB        00000024            

CLI$_IMGFNF    = 00038872            CLI$_VALREQ    = 00038150            FAB$M_BIO      = 00000020            

CLI$_INSFPRM   = 00038048            CMDBUFSIZ      = 000001FC            FAB$M_BLK      = 00000008            

CLI$_INVKEY    = 00038178            DATAP            00000000 R     03   FAB$M_BRO      = 00000040            

CLI$_INVQUAL   = 0003880A            DCL$ALLDYNMEM    ********   X   03   FAB$M_CBT      = 00200000            

CLI$_INVQUALNUM= 0003881A            DCL$ALLOCSYM     ********   X   03   FAB$M_CIF      = 02000000            

CLI$_INVREQTYP = 00038822            DCL$CHKALPHA     ********   X   03   FAB$M_CR       = 00000002            

CLI$_INVRSP    = 00038180            DCL$CLOSE        00000011 RG    03   FAB$M_CTG      = 00100000            

CLI$_INVUIC    = 000381A8            DCL$COMPSTRING   ********   X   03   FAB$M_DEL      = 00000004            

CLI$_IVCHAR    = 00038050            DCL$DEADYNMEM    ********   X   03   FAB$M_DFW      = 00000020            

CLI$_IVDEVTYPE = 0003886A            DCL$GETDVAL      ********   X   03   FAB$M_DLT      = 00008000            

CLI$_IVFNAM    = 000381C0            DCL$GOTO         ********   X   03   FAB$M_DMO      = 00001000            

CLI$_IVKEYW    = 00038060            DCL$OPEN         00000052 RG    03   FAB$M_ESC      = 08000000            

CLI$_IVOPER    = 00038068            DCL$READ         0000019D RG    03   FAB$M_EXE      = 00000080            

CLI$_IVPROT    = 00038070            DCL$SEARCH       ********   X   03   FAB$M_FTN      = 00000001            

CLI$_IVQLOC    = 00038078            DCL$WRITE        0000020A RG    03   FAB$M_GET      = 00000002            

CLI$_IVSYMB    = 00038080            DFINP            00000007 R     03   FAB$M_INP      = 00080000            

CLI$_IVVALU    = 00038088            DFOUT            0000000C R     03   FAB$M_JNL      = 00400000            

CLI$_IVVERB    = 00038090            DSPXIT           00000271 R     03   FAB$M_KFO      = 40000000            

CLI$_MAXPARM   = 00038098            ESCAPE         = 0000001B            FAB$M_MSE      = 00000010            

CLI$_MULKEY    = 000381A0            FAB$B_BID        00000000            FAB$M_MXV      = 00000002            

CLI$_NOATFIL   = 000380A0            FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            

CLI$_NOCCAT    = 000380A8            FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            

CLI$_NOCOMD    = 000380B0            FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            

CLI$_NOKEYW    = 000380B8            FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            

CLI$_NOLIST    = 000380C0            FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            

CLI$_NOOPTPRS  = 00038842            FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            

CLI$_NOQUAL    = 000380C8            FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            

CLI$_NORMAL    = 00030001            FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (1)



FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            LOG$L_MBXUCB     00000010            

FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            LOG$T_NAME       00000014            

FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            LOG$W_GROUP      0000000C            

FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            LOG$W_SIZE       00000008            

FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            MSGBUFSIZ      = 00000084            

FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            NAM$B_BID        00000000            

FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            NAM$B_BLN        00000001            

FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            NAM$B_CURLVL     00000038            

FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            NAM$B_ESL        0000000B            

FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            NAM$B_ESS        0000000A            

FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            NAM$B_RSL        00000003            

FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            NAM$B_RSS        00000002            

FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            NAM$C_BID      = 00000002            

FAB$M_SUP      = 00000004            FAB$V_TMP      = 00000003            NAM$C_BLN        00000038            

FAB$M_TEF      = 10000000            FAB$V_TRN      = 00000004            NAM$C_BLN_DIRWC  00000050            

FAB$M_TMD      = 00000010            FAB$V_UFM      = 0000001A            NAM$C_DVI      = 00000010            

FAB$M_TMP      = 00000008            FAB$V_UFO      = 00000011            NAM$C_MAXRSS   = 00000080            

FAB$M_TRN      = 00000010            FAB$V_UPD      = 00000003            NAM$C_MAXRSSLCL= 00000060            

FAB$M_UFM      = 04000000            FAB$V_UPI      = 00000006            NAM$K_BLN        00000038            

FAB$M_UFO      = 00020000            FAB$V_WCK      = 00000009            NAM$K_BLN_DIRWC  00000050            

FAB$M_UPD      = 00000008            FAB$W_BLS        0000003C            NAM$L_DIRWCC1    00000040            

FAB$M_UPI      = 00000040            FAB$W_DEQ        00000014            NAM$L_DIRWCC2    00000044            

FAB$M_WCK      = 00000200            FAB$W_IFI        00000002            NAM$L_DIRWCC3    00000048            

FAB$S_ORG      = 00000004            FAB$W_MRS        00000036            NAM$L_DIRWCC4    0000004C            

FAB$S_PPF_RAT  = 00000008            GBL...         = 00000000            NAM$L_DWC        00000038            

FAB$V_BIO      = 00000005            GETID            0000029E R     03   NAM$L_ESA        0000000C            

FAB$V_BLK      = 00000003            IDF_K_LENGTH     0000005C            NAM$L_FNB        00000034            

FAB$V_BRO      = 00000006            IDF_L_INPRABCTX  0000000C            NAM$L_RLF        00000010            

FAB$V_CBT      = 00000015            IDF_L_ONCTLY     00000058            NAM$L_RSA        00000004            

FAB$V_CIF      = 00000019            IDF_L_ONERROR    00000008            NAM$L_WCC        00000030            

FAB$V_CR       = 00000001            IDF_L_OUTRABCTX  00000010            NAM$M_DIR_LVLS = 00E00000            

FAB$V_CTG      = 00000014            IDF_Q_LABEL      0000001C            NAM$M_EXP_DEV  = 00000080            

FAB$V_DEL      = 00000002            IDF_Q_LOCAL      00000014            NAM$M_EXP_DIR  = 00000040            

FAB$V_DFW      = 00000005            IDF_T_INPDVI     00000034            NAM$M_EXP_NAME = 00000004            

FAB$V_DLT      = 0000000F            IDF_T_OUTDVI     00000024            NAM$M_EXP_TYPE = 00000002            

FAB$V_DMO      = 0000000C            IDF_V_INPOPN   = 00000000            NAM$M_EXP_VER  = 00000001            

FAB$V_ESC      = 0000001B            IDF_W_FLAG       00000056            NAM$M_GRP_MBR  = 00080000            

FAB$V_EXE      = 00000007            IDF_W_INPDID     0000004A            NAM$M_HIGHVER  = 00008000            

FAB$V_FTN      = 00000000            IDF_W_INPFID     00000044            NAM$M_LOWVER   = 00004000            

FAB$V_GET      = 00000001            IDF_W_INPIFI     00000000            NAM$M_NODE     = 00020000            

FAB$V_INP      = 00000013            IDF_W_INPRFA     00000050            NAM$M_PPF      = 00010000            

FAB$V_JNL      = 00000016            IDF_W_ONLEVEL    00000006            NAM$M_QUOTED   = 00040000            

FAB$V_KFO      = 0000001E            IDF_W_OUTIFI     00000002            NAM$M_WILDCARD = 00000100            

FAB$V_MSE      = 00000004            IDF_W_OUTISI     00000004            NAM$M_WILD_DIR = 00100000            

FAB$V_MXV      = 00000001            INPBUFSIZ      = 00000084            NAM$M_WILD_GRP = 01000000            

FAB$V_NAM      = 00000018            LABEL_CHECK      0000033C R     03   NAM$M_WILD_MBR = 02000000            

FAB$V_NEF      = 0000000A            LOG$B_AMOD       0000000E            NAM$M_WILD_NAME= 00000020            

FAB$V_NFS      = 00000010            LOG$B_TABLE      0000000B            NAM$M_WILD_SFD1= 02000000            

FAB$V_NIL      = 00000005            LOG$B_TYPE       0000000A            NAM$M_WILD_SFD2= 04000000            

FAB$V_OFP      = 0000001D            LOG$C_GROUP    = 00000001            NAM$M_WILD_SFD3= 08000000            

FAB$V_ORG      = 00000004            LOG$C_LENGTH     00000014            NAM$M_WILD_SFD4= 10000000            

FAB$V_POS      = 00000008            LOG$C_NAMLENGTH= 00000040            NAM$M_WILD_SFD5= 20000000            

FAB$V_PPF      = 00000012            LOG$C_PROCESS  = 00000002            NAM$M_WILD_SFD6= 40000000            

FAB$V_PPF_IND  = 0000000E            LOG$C_SYSTEM   = 00000000            NAM$M_WILD_SFD7= 80000000            

FAB$V_PPF_RAT  = 00000006            LOG$K_LENGTH     00000014            NAM$M_WILD_TYPE= 00000010            

FAB$V_PRN      = 00000002            LOG$L_LTBL       00000004            NAM$M_WILD_UFD = 01000000            

FAB$V_PUT      = 00000000            LOG$L_LTFL       00000000            NAM$M_WILD_VER = 00000008            

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  16

SYMBOL TABLE                                                                                                                     (1)



NAM$S_DIR_LVLS = 00000003            PRC_L_INDEPTH    00000048            PRO_B_PROMPT     00000000            

NAM$T_DVI        00000014            PRC_L_INDFAB     0000001C            PRO_K_LENGTH     00000002            

NAM$V_DIR_LVLS = 00000015            PRC_L_INDINPRAB  00000014            PRO_M_CONCAT   = 00000001            

NAM$V_EXP_DEV  = 00000007            PRC_L_INDOUTRAB  00000018            PRO_M_IMPCAT   = 00000002            

NAM$V_EXP_DIR  = 00000006            PRC_L_INPRAB     00000008            PRO_M_LIST     = 00000004            

NAM$V_EXP_NAME = 00000002            PRC_L_LSTSTATUS  00000094            PRO_M_OPTION   = 00000008            

NAM$V_EXP_TYPE = 00000001            PRC_L_ONCTLY     0000009C            PRO_M_REQ      = 00000010            

NAM$V_EXP_VER  = 00000000            PRC_L_ONERROR    00000058            PRO_M_STRING   = 00000020            

NAM$V_GRP_MBR  = 00000013            PRC_L_OUTRAB     0000000C            PRO_V_CONCAT   = 00000000            

NAM$V_HIGHVER  = 0000000F            PRC_L_PROCUIC    00000098            PRO_V_IMPCAT   = 00000001            

NAM$V_LOWVER   = 0000000E            PRC_L_SAVAP      00000000            PRO_V_LIST     = 00000002            

NAM$V_NODE     = 00000011            PRC_L_SAVFP      00000004            PRO_V_OPTION   = 00000003            

NAM$V_PPF      = 00000010            PRC_L_SEVERITY   00000040            PRO_V_REQ      = 00000004            

NAM$V_QUOTED   = 00000012            PRC_L_STACKLM    00000088            PRO_V_STRING   = 00000005            

NAM$V_WILDCARD = 00000008            PRC_L_STACKPT    00000084            PSL$C_EXEC     = 00000001            

NAM$V_WILD_DIR = 00000014            PRC_L_STATUS     00000044            PSL$C_KERNEL   = 00000000            

NAM$V_WILD_GRP = 00000018            PRC_L_SYMBOL     0000004C            PSL$C_SUPER    = 00000002            

NAM$V_WILD_MBR = 00000019            PRC_M_CNTRLY   = 00000002            PSL$C_USER     = 00000003            

NAM$V_WILD_NAME= 00000005            PRC_M_DBGQUAL  = 00000200            PSL$M_CM       = 80000000            

NAM$V_WILD_SFD1= 00000019            PRC_M_DBGTRUE  = 00000400            PSL$M_CURMOD   = 03000000            

NAM$V_WILD_SFD2= 0000001A            PRC_M_DISABL   = 00000004            PSL$M_DV       = 00000080            

NAM$V_WILD_SFD3= 0000001B            PRC_M_EXIT     = 00000008            PSL$M_FPD      = 08000000            

NAM$V_WILD_SFD4= 0000001C            PRC_M_GOEOF    = 00000001            PSL$M_FU       = 00000040            

NAM$V_WILD_SFD5= 0000001D            PRC_M_GOTO     = 00000010            PSL$M_IPL      = 001F0000            

NAM$V_WILD_SFD6= 0000001E            PRC_M_HANGUP   = 00001000            PSL$M_IS       = 04000000            

NAM$V_WILD_SFD7= 0000001F            PRC_M_IND      = 00000020            PSL$M_IV       = 00000020            

NAM$V_WILD_TYPE= 00000004            PRC_M_MODE     = 00000040            PSL$M_PRVMOD   = 00C00000            

NAM$V_WILD_UFD = 00000018            PRC_M_NOCTLY   = 00004000            PSL$M_SAFBITS  = 000037FF            

NAM$V_WILD_VER = 00000003            PRC_M_PAUSE    = 00002000            PSL$M_TBIT     = 00000010            

NAM$W_DID        0000002A            PRC_M_USRDET   = 00000100            PSL$M_TP       = 40000000            

NAM$W_DID_NUM    0000002A            PRC_M_VERIFY   = 00000080            PSL$S_CURMOD   = 00000002            

NAM$W_DID_RVN    0000002E            PRC_M_YLEVEL   = 00000800            PSL$S_IPL      = 00000005            

NAM$W_DID_SEQ    0000002C            PRC_Q_ALLOCREG   00000020            PSL$S_PRVMOD   = 00000002            

NAM$W_FID        00000024            PRC_Q_GLOBAL     00000028            PSL$V_CM       = 0000001F            

NAM$W_FID_NUM    00000024            PRC_Q_LABEL      00000030            PSL$V_CURMOD   = 00000018            

NAM$W_FID_RVN    00000028            PRC_Q_LOCAL      00000038            PSL$V_DV       = 00000007            

NAM$W_FID_SEQ    00000026            PRC_V_CNTRLY   = 00000001            PSL$V_FPD      = 0000001B            

NAM$W_PRV_DID    0000003A            PRC_V_DBGQUAL  = 00000009            PSL$V_FU       = 00000006            

PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            PSL$V_IPL      = 00000010            

PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            PSL$V_IS       = 0000001A            

PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            PSL$V_IV       = 00000005            

PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            PSL$V_PRVMOD   = 00000016            

PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            PSL$V_TBIT     = 00000004            

PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            PSL$V_TP       = 0000001E            

PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            PTR_K_BLANK    = 00000001            

PRC_L_CLIWRK0    0000005C            PRC_V_MODE     = 00000006            PTR_K_COLON    = 00000002            

PRC_L_CLIWRK1    00000060            PRC_V_NOCTLY   = 0000000E            PTR_K_COMDQUAL = 00000000            

PRC_L_CLIWRK2    00000064            PRC_V_PAUSE    = 0000000D            PTR_K_COMMA    = 00000005            

PRC_L_CLIWRK3    00000068            PRC_V_USRDET   = 00000008            PTR_K_ENDLINE  = 00000004            

PRC_L_CLIWRK4    0000006C            PRC_V_VERIFY   = 00000007            PTR_K_LPAREN   = 00000007            

PRC_L_ERRRAB     00000010            PRC_V_YLEVEL   = 0000000B            PTR_K_PARAMETR = 00000003            

PRC_L_EXMDEPADR  0000008C            PRC_W_CLIFLAG    00000052            PTR_K_PARMQUAL = 00000001            

PRC_L_EXTARG     00000078            PRC_W_ERRIFI     00000052            PTR_K_PLUS     = 00000004            

PRC_L_EXTBLK     00000070            PRC_W_FLAGS      00000054            PTR_K_QUALVALU = 00000002            

PRC_L_EXTCOD     00000080            PRC_W_INPCHAN    00000050            PTR_K_RPAREN   = 00000006            

PRC_L_EXTHND     00000074            PRC_W_ONLEVEL    00000056            PTR_K_SLASH    = 00000003            

PRC_L_EXTPRM     0000007C            PRO_B_FLAGS      00000001            PTR_L_DESCR      00000000            

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  17

SYMBOL TABLE                                                                                                                     (1)



PTR_S_FLAGS    = 00000004            RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            

PTR_S_OFFSET   = 0000000C            RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            

PTR_S_TERM     = 00000004            RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            

PTR_S_TYPE     = 00000004            RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            

PTR_S_VALUE    = 00000008            RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            

PTR_V_FLAGS    = 00000014            RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            

PTR_V_NEGATE   = 00000000            RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            

PTR_V_OFFSET   = 00000008            RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            

PTR_V_TERM     = 00000018            RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            

PTR_V_TYPE     = 0000001C            RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            

PTR_V_VALUE    = 00000000            RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            

QUA_B_DEFVAL     00000002            RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            

QUA_B_IMAGE      00000005            RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            

QUA_B_INDEX      00000001            RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            

QUA_B_OFFSET     00000000            RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            

QUA_B_PARMCNT    00000008            RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            

QUA_G_CHNGLST    00000006            RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            

QUA_M_BATDEF   = 00000100            RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            

QUA_M_CHNGLIST = 00000001            RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            

QUA_M_DEFTRUE  = 00000080            RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            

QUA_M_FILE     = 00000004            RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            

QUA_M_IMAGE    = 00000400            RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            

QUA_M_INTDEF   = 00000200            RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            

QUA_M_KEYVAL   = 00004000            RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            

QUA_M_LOCALKEY = 00000002            RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            

QUA_M_NEG      = 00000040            RAB$L_STS        00000008            RAB$V_TPT      = 00000001            

QUA_M_ONEVAL   = 00002000            RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            

QUA_M_OUTPUT   = 00000800            RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            

QUA_M_PARM     = 00000010            RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            

QUA_M_VAL      = 00000020            RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            

QUA_M_VALREQ   = 00001000            RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            

QUA_M_VERB     = 00000008            RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            

QUA_S_MAXPARM  = 00000004            RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            

QUA_S_MINPARM  = 00000004            RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            

QUA_V_BATDEF   = 00000008            RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            

QUA_V_CHNGLIST = 00000000            RAB$M_KGE      = 00200000            RMS$_EOF         ********   X   03   

QUA_V_DEFTRUE  = 00000007            RAB$M_KGT      = 00400000            RSLBUFSIZ      = 00000180            

QUA_V_FILE     = 00000002            RAB$M_LIM      = 00004000            SS$_NORMAL       ********   X   03   

QUA_V_IMAGE    = 0000000A            RAB$M_LOA      = 00002000            SYS$CLOSE        ********  GX   03   

QUA_V_INTDEF   = 00000009            RAB$M_LOC      = 00010000            SYS$CONNECT      ********  GX   03   

QUA_V_KEYVAL   = 0000000E            RAB$M_MAS      = 00000020            SYS$CREATE       ********  GX   03   

QUA_V_LOCALKEY = 00000001            RAB$M_NLK      = 00100000            SYS$CRELOG       ********   X   03   

QUA_V_MAXPARM  = 00000004            RAB$M_NXR      = 00800000            SYS$DELLOG       ********   X   03   

QUA_V_MINPARM  = 00000000            RAB$M_PMT      = 40000000            SYS$GET          ********  GX   03   

QUA_V_NEG      = 00000006            RAB$M_PPF_IND  = 00004000            SYS$OPEN         ********  GX   03   

QUA_V_ONEVAL   = 0000000D            RAB$M_PPF_RAT  = 00003FC0            SYS$PUT          ********  GX   03   

QUA_V_OUTPUT   = 0000000B            RAB$M_PTA      = 20000000            SYS$TRNLOG       ********   X   03   

QUA_V_PARM     = 00000004            RAB$M_RAH      = 00000200            WRK_AB_BUFFER    FFFFFD38            

QUA_V_VAL      = 00000005            RAB$M_RLK      = 00080000            WRK_AG_RESULT    FFFFFBB4            

QUA_V_VALREQ   = 0000000C            RAB$M_RNE      = 01000000            WRK_B_VERBTYP    FFFFFFC0            

QUA_V_VERB     = 00000003            RAB$M_RNF      = 08000000            WRK_K_LENGTH     FFFFFBB4            

QUA_W_FLAGS      00000003            RAB$M_TMO      = 02000000            WRK_L_CHARPTR    FFFFFFFC            

QUA_W_PROMPT     00000009            RAB$M_TPT      = 00000002            WRK_L_CMDOUT     FFFFFFBC            

QUA_W_QUALIST    00000006            RAB$M_UIF      = 00000010            WRK_L_IMAGE      FFFFFFEC            

RAB$B_BID        00000000            RAB$M_ULK      = 00040000            WRK_L_MAXPARM    FFFFFFE4            

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            WRK_L_MINPARM    FFFFFFE8            

RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            WRK_L_PARMCNT    FFFFFFF0            

FILECMDS        - FILE I/O DCLS COMMAND EXECUTION                22-AUG-1978 01:15:49   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (1)



WRK_L_PAROUT     FFFFFFF4            

WRK_L_PROMPT     FFFFFFD0            

WRK_L_PROPTR     FFFFFFDC            

WRK_L_QUABLK     FFFFFFE0            

WRK_L_RSLNXT     FFFFFD34            

WRK_L_SAVAP      FFFFFFC8            

WRK_L_SAVFP      FFFFFFCC            

WRK_L_SAVSP      FFFFFFC4            

WRK_M_COMMAND  = 00000002            

WRK_M_IMCHNG   = 00000004            

WRK_M_INQUIRE  = 00000100            

WRK_M_NOSTAT   = 00000200            

WRK_M_PROMPT   = 00000008            

WRK_M_QUAL     = 00000010            

WRK_M_QUOTE    = 00000020            

WRK_M_RUNDWN   = 00000001            

WRK_M_STAR     = 00000040            

WRK_M_TRAILSPC = 00000400            

WRK_M_VERB     = 00000080            

WRK_Q_IOSB       FFFFFFD4            

WRK_V_COMMAND  = 00000001            

WRK_V_IMCHNG   = 00000002            

WRK_V_INQUIRE  = 00000008            

WRK_V_NOSTAT   = 00000009            

WRK_V_PROMPT   = 00000003            

WRK_V_QUAL     = 00000004            

WRK_V_QUOTE    = 00000005            

WRK_V_RUNDWN   = 00000000            

WRK_V_STAR     = 00000006            

WRK_V_TRAILSPC = 0000000A            

WRK_V_VERB     = 00000007            

WRK_W_FLAGS      FFFFFFFA            

WRK_W_IMGCHAN    FFFFFFF8            

_$$_           = 00000062            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            FFFFFFFC      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

DCL$ZCODE        0000035F      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

3958. BYTES LEFT IN FREE MEMORY POOL.

620. BYTES OF RECLAIMED MEMORY.

EXE$:FILECMDS,LIS$:FILECMDS/-SP=EXECML$/ML,LIB$:DCL/ML,SRC$:FILECMDS

78 MLB DIR RDS - 1086 GETS TO DEFINE 45 MACROS. 88 INTER. FILE WRITES. 

