COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      48  PROCESS NEXT COMMAND

   (1)     583  EOD/DECK COMMANDS

   (1)     603  CHECK FOR CONTROL Y/C AST PENDING

   (1)     624  ENABLE/DISABLE CONTROL Y/C AST'S

   (1)     658  FLUSH COMMAND BUFFER

   (1)     685  PROCESS FOREIGN COMMAND

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   1

01.1                                                                                                                             (1)



                                     0000     1 	.TITLE	COMMAND - PROCESS NEXT COMMAND

                                     0000     2 	.IDENT	/01.1/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     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 22-MAR-77

                                     0000    24 ;

                                     0000    25 ; PROCESS NEXT COMMAND

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	DEFCMDBLK			;DEFINE COMMAND BLOCK OFFSETS

                                     0000    31 	DEFCMDWRK			;DEFINE WORK AREA OFFSETS

                                     0000    32 	DEFERRCOD			;DEFINE ERROR/STATUS VALUES

                                     0000    33 	DEFPROBLK			;DEFINE PROMPT DESCRIPTOR BLOCK OFFSETS

                                     0000    34 	DEFPTRDSC			;DEFINE RESULT PARSE DESCRIPTOR FORMAT

                                     0000    35 	DEFSYMTBL			;DEFINE SYMBOL ENTRY OFFSETS

                                     0000    36 	$DEVDEF				;DEFINE DEVICE CHARACTERISTIC BITS

                                     0000    37 	$PSLDEF				;DEFINE PROCESSOR STATUS FIELDS

                                     0000    38 	$RABDEF				;DEFINE RAB OFFSETS

                                     0000    39  

                                     0000    40 ;

                                     0000    41 ; GLOBAL DATA

                                     0000    42 ;

                                     0000    43  

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

                                     0000    45 DCL$T_PROMPT::				;PROMPT STRING

                           20 24 00' 0000    46 	.ASCIC	\$ \			;

                                 02  0000       

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   2

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                                     0003    48 	.SBTTL	PROCESS NEXT COMMAND

                                     0003    49 ;+

                                     0003    50 ; DCL$RESTART - PROCESS NEXT COMMAND

                                     0003    51 ;

                                     0003    52 ; THIS ROUTINE IS THE CENTRAL COMMAND PARSE AND DISPATCH ROUTINE FOR THE

                                     0003    53 ; STARLET DCLS COMMAND LANGUAGE INTERPRETER. IT INITIALIZES FOR THE NEXT

                                     0003    54 ; COMMAND, READS AND PARSES THE COMMAND FOR SYNTACTIC CORRECTNESS, AND THEN

                                     0003    55 ; EXECUTES THE APPROPRIATE IMAGE.

                                     0003    56 ;

                                     0003    57 ; INPUTS:

                                     0003    58 ;

                                     0003    59 ;	NONE.

                                     0003    60 ;

                                     0003    61 ; OUTPUTS:

                                     0003    62 ;

                                     0003    63 ;	COMMAND IS READ, PARSED, AND AN IMAGE IS ACTIVATED.

                                     0003    64 ;-

                                     0003    65  

                                     0003    66 	.ENABL	LSB

                          FFFA'  31  0003    67 10$:	BRW	DCL$LOGOUT		;LOG PROCESS OUT

                                     0006    68 DCL$RESTART::				;RESTART ENTRY POINT

         FC AD       FFFF'CF     9E  0006    69 	MOVAB	W^DCL$HYPHEN-1,WRK_L_CHARPTR(FP) ;SET TO FORCE INPUT ON NEXT GET

                                     000C    70  

                                     000C    71 ;

                                     000C    72 ; PARSE COMMAND AND BUILD RESULT TABLE

                                     000C    73 ;

                                     000C    74  

                                     000C    75 DCL$CMDSTART::				;COMMAND PROCESSING ENTRY POINT

         D0 AD         F1 AF     9E  000C    76 	MOVAB	DCL$T_PROMPT,WRK_L_PROMPT(FP) ;SET ADDRESS OF PROMPT STRING

            6D       0000'CF     9E  0011    77 	MOVAB	W^DCL$CONDHAND,(FP)	;ESTABLISH CONDITION HANDLER

            5E       FBA4 CD     9E  0016    78 	MOVAB	WRK_K_LENGTH-16(FP),SP	;ALLOCATE COMMAND IMPURE AREA

                       FA AD     B4  001B    79 	CLRW	WRK_W_FLAGS(FP)		;RESET COMMAND FLAGS

         54 AB            24     AA  001E    80 	BICW	#PRC_M_DISABL!-		;CLEAR CONTROL Y/C DISABLE FLAG

                                     0022    81 		PRC_M_IND,PRC_W_FLAGS(R11) ;CLEAR INDIRECT FILE IN PROGRESS

         54 AB            01     E5  0022    82 	BBCC	#PRC_V_CNTRLY,PRC_W_FLAGS(R11),20$ ;IF CLR, NO CONTROL Y/C REQUEST

                          26         0026       

            51       009C CB     D0  0027    83 	MOVL	PRC_L_ONCTLY(R11),R1	;GET ADDRESS OF ACTION COMMAND

                          19     13  002C    84 	BEQL	15$			;BR IF NO ACTION OUTSTANDING

            50            81     9A  002E    85 	MOVZBL	(R1)+,R0		;GET THE ADDRESS AND COUNT

                                 9E  0031    86 	MOVAB	WRK_AB_BUFFER+CMDBUFSIZ+3(FP),-

         FC AD       FF37 CD         0032    87 		WRK_L_CHARPTR(FP)	;SET ADDRESS OF THE BUFFER

            61            50     28  0037    88 	MOVC	R0,(R1),WRK_AB_BUFFER+CMDBUFSIZ+4(FP) ; SET CMD IN BUFFER

                     FF38 CD         003A       

         54 AB            04     E5  003D    89 	BBCC	#PRC_V_GOTO,PRC_W_FLAGS(R11),20$ ;BR IF NOT IN A GOTO

                          0B         0041       

                          FFBB'  30  0042    90 	BSBW	DCL$DEALGOTO		;DEALLOCATE THE CONTROL BLOCK

                          06     11  0045    91 	BRB	20$			;PROCESS COMMAND

         54 AB       0800 8F     A8  0047    92 15$:	BISW	#PRC_M_YLEVEL,PRC_W_FLAGS(R11) ;SET CONTROL Y/C LEVEL

         54 AB            0C     E0  004D    93 20$:	BBS	#PRC_V_HANGUP,PRC_W_FLAGS(R11),10$ ;IF SET, HANGUP PENDING

                          B1         0051       

            59       FD38 CD     9E  0052    94 	MOVAB	WRK_AB_BUFFER(FP),R9	;SET ADDRESS OF COMMAND BUFFER

            5A       FBB4 CD     9E  0057    95 	MOVAB	WRK_AG_RESULT(FP),R10	;SET ADDRESS OF RESULT PARSE TABLE

                                     005C    96 	SETNBLK				;POINT TO NEXT NONBLANK CHARACTER

                          A5     13  005F    97 	BEQL	DCL$RESTART		;IF EQL NULL LINE

            50            24     91  0061    98 30$:	CMPB	#^A/$/,R0		;DOLLAR SIGN?

                          16     12  0064    99 	BNEQ	40$			;IF NEQ NO-PROCESS THE COMMAND

            59       FD38 CD     9E  0066   100 	MOVAB	WRK_AB_BUFFER(FP),R9	;ALWAYS FIRST CHARACTER IN BUFFER

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   3

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                                     006B   101 	MOVCHAR				;PUT DOLLAR SIGN IN BUFFER

                       48 AB     DD  006E   102 	PUSHL	PRC_L_INDEPTH(R11)	;SAVE CURRENT INDIRECT LEVEL INDICATOR

                                     0071   103 	SETNBLK				;POINT AT NEXT NON-BLANK CHARACTER

                          90     13  0074   104 	BEQL	DCL$RESTART		;NULL LINE

            8E         48 AB     D1  0076   105 	CMPL	PRC_L_INDEPTH(R11),(SP)+ ;INDIRECT LEVEL CHANGE?

                          E5     12  007A   106 	BNEQ	30$			;IF YES-LOOK FOR LEADING DOLLAR SIGN

            56            59     D0  007C   107 40$:	MOVL	R9,R6			;SAVE DISPLAY PARAMETER

                                     007F   108 	GETOKEN				;GET COMMAND VERB, SYMBOL, OR LABEL

                          68     13  0082   109 	BEQL	60$			;IF EQL NO VERB, SYMBOL, OR LABEL

            50            3A     91  0084   110 	CMPB	#^A/:/,R0		;LABEL OR STRING EQUATE TERMINATOR?

                          7A     12  0087   111 	BNEQ	90$			;IF NEQ NO - VERB OR ASSIGNMENT

                                     0089   112  

                                     0089   113 ;

                                     0089   114 ; LABEL OR STRING EQUATE ENCOUNTERED

                                     0089   115 ;

                                     0089   116  

                                     0089   117 	MOVCHAR				;MOVE CHARACTER TO COMMAND BUFFER

                                     008C   118 	SETCHAR				;PEEK AT NEXT CHARACTER IN INPUT BUFFER

            50            3D     91  008F   119 	CMPB	#^A/=/,R0		;EQUAL SIGN?

                          60     13  0092   120 	BEQL	70$			;IF EQL YES

         54 AB            0B     E0  0094   121 	BBS	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),50$ ;IF SET, AT CONTROL Y/C LEVEL

                          50         0098       

            50         14 AB     D0  0099   122 	MOVL	PRC_L_INDINPRAB(R11),R0	;DEVICE CHAR SAVED IN CURRENT RAB

         18 A0            1C     E1  009D   123 	BBC	#DEV$V_RND,RAB$L_CTX(R0),50$ ;IF CLR, NOT RANDOM DEVICE

                          47         00A1       

            55         30 AB     9E  00A2   124 	MOVAB	PRC_Q_LABEL(R11),R5	;GET ADDRESS OF LABEL TABLE LISTHEAD

            53            51     7D  00A6   125 	MOVQ	R1,R3			;SET LABEL NAME PARAMETERS

            52         14 AB     D0  00A9   126 	MOVL	PRC_L_INDINPRAB(R11),R2	;GET ADDRESS OF INDIRECT RAB

            52         10 A2     9E  00AD   127 	MOVAB	RAB$W_RFA(R2),R2	;SET ADDRESS OF RECORD FILE ADDRESS

            51            06     9A  00B1   128 	MOVZBL	#6,R1			;SET LENGTH OF RECORD FILE ADDRESS

                                     00B4   129 	DISABLE				;DISABLE CONTROL Y/C AST'S

                                     00B7   130 	ALLOCSYM			;ALLOCATE AND INSERT LABEL IN TABLE

            69            50     E9  00BA   131 	BLBC	R0,130$			;IF LBC ALLOCATION FAILURE

         54 AB            04     E1  00BD   132 	BBC	#PRC_V_GOTO,PRC_W_FLAGS(R11),50$ ;IF CLR, NO GOTO

                          27         00C1       

            52         4C AB     D0  00C2   133 	MOVL	PRC_L_SYMBOL(R11),R2	;GET ADDRESS OF GOTO LABEL NAME

            53            82     9A  00C6   134 	MOVZBL	(R2)+,R3		;GET LENGTH OF GOTO LABEL

            53         0C A1     91  00C9   135 	CMPB	SYM_T_SYMBOL(R1),R3	;LENGTH OF LABEL NAMES MATCH?

                          3E     12  00CD   136 	BNEQ	100$			;IF NEQ NO

         0D A1            53     29  00CF   137 	CMPC	R3,SYM_T_SYMBOL+1(R1),(R2) ;SYMBOL NAMES MATCH?

                          62         00D3       

                          37     12  00D4   138 	BNEQ	100$			;IF NEQ NO

         54 AB            10     AA  00D6   139 	BICW	#PRC_M_GOTO,PRC_W_FLAGS(R11) ;CLEAR GOTO IN PROGRESS FLAG

            52         4C AB     D0  00DA   140 	MOVL	PRC_L_SYMBOL(R11),R2	;GET ADDRESS OF GOTO LABEL NAME

            51            82     9A  00DE   141 	MOVZBL	(R2)+,R1		;GET LENGTH OF GOTO LABEL

                                     00E1   142 	POSITION			;POSITION FILE TO GOTO LABEL

                          FF19'  30  00E4   143 	BSBW	DCL$DEALGOTO		;DEALLOCATE THE GOTO LABEL

                          27     11  00E7   144 	BRB	110$			;REREAD GOTO LINE

                          FF20   31  00E9   145 50$:	BRW	DCL$CMDSTART		;START COMMAND OVER

                                     00EC   146  

                                     00EC   147 ;

                                     00EC   148 ; NO COMMAND VERB, SYMBOL, OR LABEL

                                     00EC   149 ;

                                     00EC   150  

         54 AB            04     E0  00EC   151 60$:	BBS	#PRC_V_GOTO,PRC_W_FLAGS(R11),100$ ;IF SET, GOTO IN PROGRESS

                          1C         00F0       

                          0092   31  00F1   152 	BRW	NOCOMD			;ELSE BAD COMMAND LINE SYNTAX

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   4

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                                     00F4   153  

                                     00F4   154 ;

                                     00F4   155 ; STRING EQUATE

                                     00F4   156 ;

                                     00F4   157  

         54 AB            0B     E0  00F4   158 70$:	BBS	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),80$ ;IF SET, AT CONTROL Y/C LEVEL

                          05         00F8       

         54 AB            04     E0  00F9   159 	BBS	#PRC_V_GOTO,PRC_W_FLAGS(R11),100$ ;IF SET, GOTO IN PROGRESS

                          0F         00FD       

                                     00FE   160 80$:	EQUATE				;PROCESS STRING EQUATE STATEMENT

                          23     11  0101   161 	BRB	130$			;

                                     0103   162  

                                     0103   163 ;

                                     0103   164 ; COMMAND VERB OR ASSIGNMENT ENCOUNTERED

                                     0103   165 ;

                                     0103   166  

         54 AB            0B     E0  0103   167 90$:	BBS	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),SYMBOL ;IF SET, AT CONTROL Y/C LEVEL

                          0B         0107       

         54 AB            04     E1  0108   168 	BBC	#PRC_V_GOTO,PRC_W_FLAGS(R11),SYMBOL ;IF CLR, NO GOTO IN PROGRESS

                          06         010C       

                                     010D   169 100$:	FLUSH				;FLUSH COMMAND BUFFER

                          FEF3   31  0110   170 110$:	BRW	DCL$RESTART		;

                                     0113   171  

                                     0113   172 ;

                                     0113   173 ; ASSIGNMENT STATEMENT, SUBSTRING EQUATE, OR COMMAND VERB

                                     0113   174 ;

                                     0113   175  

            50         5B 8F     91  0113   176 SYMBOL:	CMPB	#^A/[/,R0		;SUBSTRING OF BIT FIELD SUBSTRING ASSIGNMENT?

                          05     12  0117   177 	BNEQ	120$			;IF NEQ NO

                          FEE4'  30  0119   178 	BSBW	DCL$SUBASSIGN		;PROCESS SUBSTRING OR BIT FIELD ASSIGNMENT

                          08     11  011C   179 	BRB	130$			;

            50            3D     91  011E   180 120$:	CMPB	#^A/=/,R0		;SYMBOL ASSIGNMENT?

                          06     12  0121   181 	BNEQ	COMMAND			;IF NEQ NO

                                     0123   182 	EVALUATE			;EVALUATE ARITHMETIC ASSIGNMENT STATEMENT

                          0313   31  0126   183 130$:	BRW	ERROR_EXIT		;

                                     0129   184  

                                     0129   185 ;

                                     0129   186 ; TRANSLATE COMMAND VERB

                                     0129   187 ;

                                     0129   188  

                          06     BB  0129   189 COMMAND:PUSHR	#^M<R1,R2>		;SAVE COMMAND VERB PARAMETERS

                                     012B   190 	SEARCH				;SEARCH FOR SYMBOL DEFINITION

            54            51     7D  012E   191 	MOVQ	R1,R4			;SAVE VALUE PARAMETERS

                          06     BA  0131   192 	POPR	#^M<R1,R2>		;RESTORE COMMAND VERB PARAMETERS

                          54     D5  0133   193 	TSTL	R4			;SYMBOL DEFINED AND HAVE VALUE?

                          64     13  0135   194 	BEQL	PRCVERB			;IF EQL NO

            59       FD38 CD     9E  0137   195 	MOVAB	WRK_AB_BUFFER(FP),R9	;RESET COMMAND BUFFER POINTER

                       FC AD     D7  013C   196 	DECL	WRK_L_CHARPTR(FP)	;ALLOW SPACE FOR TRAILING BLANK

         FC AD            54     C2  013F   197 	SUBL	R4,WRK_L_CHARPTR(FP)	;CALCULATE NEW CHARACTER POINTER

         FC AD            01     C1  0143   198 	ADDL3	#1,WRK_L_CHARPTR(FP),R6	;GET ADDRESS OF NEXT CHARACTER

                          56         0147       

            65            54     28  0148   199 	MOVC	R4,(R5),(R6)		;MOVE TRANSLATED COMMAND TO INPUT BUFFER

                          66         014B       

            63            20     90  014C   200 	MOVB	#^A/ /,(R3)		;INSERT TRAILING BLANK

            66            21     91  014F   201 	CMPB	#^A/!/,(R6)		;COMMAND NOP'D?

                          B9     13  0152   202 	BEQL	100$			;BR IF YES AND FLUSH THE BUFFER

            66         40 8F     91  0154   203 	CMPB	#^A/@/,(R6)		;PROCEDURE FILE?

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   5

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                          29     13  0158   204 	BEQL	INDFILE			;IF EQL YES

                                     015A   205  

                                     015A   206 	.DSABL	LSB

                                     015A   207 ;

                                     015A   208 ; PROCESS REAL VERB

                                     015A   209 ;

                                     015A   210  

            56            59     D0  015A   211 	MOVL	R9,R6			;SAVE DISPLAY PARAMETER

                                     015D   212 	SETNBLK				;POINT TO NEXT NONBLANK CHARACTER

            50            24     91  0160   213 	CMPB	#^A/$/,R0		;DOLLAR SIGN?

                          31     12  0163   214 	BNEQ	CMDVERB			;IF NEQ NO

                                     0165   215  

                                     0165   216 ;

                                     0165   217 ; FOREIGN COMMAND VERB

                                     0165   218 ;

                                     0165   219  

                                     0165   220 FORVERB:PROCFILE			;PROCESS FILE SPECIFICATION

            23            50     E9  0168   221 	BLBC	R0,COMDERR		;IF LBC FILE SPECIFICATION ERROR

                          7A     D5  016B   222 	TSTL	-(R10)			;BACK UP PARSE TABLE POINTER

                          56     D6  016D   223 	INCL	R6			;ADJUST PAST DOLLAR SIGN

            59            56     C3  016F   224 	SUBL3	R6,R9,R5		;CALCULATE LENGTH OF FILENAME

                          55         0172       

            7E            55     7D  0173   225 	MOVQ	R5,-(SP)		;SAVE FILENAME DESCRIPTOR PARAMETERS

                          032D   30  0176   226 	BSBW	PROCFORN		;PROCESS FOREIGN COMMAND

         C0 AD         00'8F     90  0179   227 	MOVB	#CLI$K_VERB_FORE,WRK_B_VERBTYP(FP) ;SET FOREIGN COMMAND

                          06     BA  017E   228 	POPR	#^M<R1,R2>		;RESTORE FILENAME DESCRIPTOR PARAMETERS

                          0226   31  0180   229 	BRW	EXECEXT			;

                                     0183   230  

                                     0183   231 ;

                                     0183   232 ; COMMAND PROCEDURE FILE

                                     0183   233 ;

                                     0183   234  

                                     0183   235 INDFILE:				;COMMAND PROCEDURE FILE

                          FE86   31  0183   236 	BRW	DCL$CMDSTART		;

                                     0186   237  

                                     0186   238 ;

                                     0186   239 ; NO COMMAND VERB ,SYMBOL, OR LABEL

                                     0186   240 ;

                                     0186   241  

                                     0186   242 NOCOMD:	STATUS	NOCOMD			;SET NO COMMAND STATUS

                          03     11  0189   243 	BRB	COMDERR			;

                                     018B   244  

                                     018B   245 ;

                                     018B   246 ; INVALID COMMAND VERB

                                     018B   247 ;

                                     018B   248  

                                     018B   249 IVVERB:	STATUS	IVVERB			;SET INVALID VERB STATUS

                          02AB   31  018E   250 COMDERR:BRW	ERROR_EXIT		;

                                     0191   251  

                                     0191   252 ;

                                     0191   253 ; AMBIGUOUS COMMAND VERB

                                     0191   254 ;

                                     0191   255  

                                     0191   256 ABVERB:	STATUS	ABVERB			;SET AMBIGUOUS COMMAND VERB STATUS

                          F8     11  0194   257 	BRB	COMDERR			;

                                     0196   258  

                                     0196   259 ;

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   6

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                                     0196   260 ; STANDARD COMMAND VERB

                                     0196   261 ;

                                     0196   262  

                                     0196   263 CMDVERB:GETOKEN				;GET COMMAND VERB TOKEN

                          EB     13  0199   264 	BEQL	NOCOMD			;IF EQL NONE

         54 AB            0B     E1  019B   265 PRCVERB:BBC	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),10$ ;BR IF NOT AT ^Y LEVEL

                          09         019F       

         00 BB            18     E1  01A0   266 	BBC	#PSL$V_CURMOD,@PRC_L_SAVAP(R11),10$ ;IF CLR PREVIOUS MODE SUPER

                          04         01A4       

                                     01A5   267 	SETBIT	PRC_V_IND,PRC_W_FLAGS(R11) ;DISABLE "@" FILE RECOGNITION

            54            51     7D  01A9   268 10$:	MOVQ	R1,R4			;SAVE COMMAND VERB DESCRIPTOR

            54            04     D1  01AC   269 	CMPL	#4,R4			;COMMAND VERB LESS THAN 5 CHARACTERS?

                          03     18  01AF   270 	BGEQ	20$			;IF GEQ YES

            54            04     D0  01B1   271 	MOVL	#4,R4			;SET TO SCAN ONLY 4 CHARACTERS

            65         80 8F     88  01B4   272 20$:	BISB	#^X80,(R5)		;SET HIGH ORDER BIT TO FORCE COMMAND MATCH

                          57     D4  01B8   273 	CLRL	R7			;SET USING DCL COMMAND TABLE FLAG

         04 AE       0000'CF     3E  01BA   274 	MOVAW	W^DCL$AW_COMDPTR,4(SP)	;SET BASE OF PROPER POINTER IN PROMPT BUFFER

            6E         00'8F     9A  01C0   275 	MOVZBL	#<<DCL$AB_VERBEND-DCL$AB_VERBTBL>/4>,(SP) ;ALOS NUMBER OF VERBS

                          54     39  01C4   276 	MATCHC	R4,(R5),-		;SCAN FOR COMMAND VERB MATCH

                          65         01C6   277 		#<DCL$AB_VERBEND-DCL$AB_VERBTBL>,- ;SIZE OF TABLE IN BYTES

       0000'CF       0000'8F         01C7   278 		W^DCL$AB_VERBTBL	;START OF TABLE

                          17     13  01CD   279 	BEQL	25$			;BR IF VERB MATCH

                          57     D6  01CF   280 	INCL	R7			;SET USER COMMAND TABLE FLAG

         04 AE       0000'CF     3E  01D1   281 	MOVAW	W^DCL$AW_USERPTR,4(SP)	;START OF USER POINTER TABLE

            6E         00'8F     9A  01D7   282 	MOVZBL	#<<DCL$AB_USREND-DCL$AB_USRCMD>/4>,(SP) ;SIZE OF USER TABLE

                          54     39  01DB   283 	MATCHC	R4,(R5),-		;SCAN USER TABEL

                          65         01DD   284 		#<DCL$AB_USREND-DCL$AB_USRCMD>,- ;SIZE OF USER COMMAND TABLE

       0000'CF       0000'8F         01DE   285 		W^DCL$AB_USRCMD		;BASE OF USER TABLE

                          A5     12  01E4   286 	BNEQ	IVVERB			;IF NEQ NO MATCH

            52            54     C0  01E6   287 25$:	ADDL	R4,R2			;CALCULATE BYTES REMAINING INCLUDING SUBSTRING

            52            04     C7  01E9   288 	DIVL3	#4,R2,R8		;CALCULATE COMPLEMENT COMMAND INDEX

                          58         01EC       

            6E            58     A3  01ED   289 	SUBW3	R8,(SP),R8		;CALCULATE VERB INDEX

                          58         01F0       

            50         04 BE48   3E  01F1   290 	MOVAW	@4(SP)[R8],R0		;GET ADDRESS OF COMMAND BLOCK DISPLACEMENT

            58            80     32  01F6   291 	CVTWL	(R0)+,R8		;GET DISPLACEMENT TO COMMAND BLOCK

            58            50     C0  01F9   292 	ADDL	R0,R8			;CALCULATE ADDRESS OF COMMAND BLOCK

         05 A8            05     E0  01FC   293 	BBS	#CMD_V_ABREV,CMD_B_FLAGS(R8),30$ ;IF SET, NON UNIQUE ACCEPTABLE

                          07         0200       

            65            54     39  0201   294 	MATCHC	R4,(R5),#7,(R3)		;SCAN FOR DUPLICATE MATCH

            63            07         0204       

                          89     13  0206   295 	BEQL	ABVERB			;IF EQL DUPLICATE MATCH

         C0 AD            88     90  0208   296 30$:	MOVB	(R8)+,WRK_B_VERBTYP(FP)	;SET VERB GENERIC TYPE

                                 EF  020C   297 	EXTZV	#CMD_V_MINPARM,-	;EXTRACT MINIMUM NUMBER OF PARAMETERS

            04            00         020D   298 		#CMD_S_MINPARM,(R8),WRK_L_MINPARM(FP) ;

         E8 AD            68         020F       

                                 EF  0212   299 	EXTZV	#CMD_V_MAXPARM,-	;EXTRACT MAXIMUM NUMBER OF PARAMETERS

            04            04         0213   300 		#CMD_S_MAXPARM,(R8)+,WRK_L_MAXPARM(FP) ;

         E4 AD            88         0215       

            08            57     E9  0218   301 	BLBC	R7,34$			;BR IF DOING DCL COMMAND

                          6A     10  021B   302 	BSBB	100$			;GET ADDRESS OF USER IMAGE NAME

         EC AD            50     D0  021D   303 	MOVL	R0,WRK_L_IMAGE(FP)	;ADDRESS OF USER IMAGE

                          04     11  0221   304 	BRB	36$			;

         EC AD            88     9A  0223   305 34$:	MOVZBL	(R8)+,WRK_L_IMAGE(FP)	;SAVE IMAGE NAME INDEX NUMBER

                          5E     10  0227   306 36$:	BSBB	100$			;GET ADDRESS OF QUALIFIER DESCRIPTORS

                                 E1  0229   307 	BBC	#CMD_V_DEFQUAL,-	;CHECK IF QUALIFIER LIST IS DEFERED

         01 A8            04         022A   308 		CMD_B_FLAGS-CMD_B_PROMPT(R8),40$ ;AND BR IF NOT DEFERED

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   7

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                          06         022D       

            51            60     32  022E   309 	CVTWL	(R0),R1			;GET OFFSET TO LIST

            50            51     C0  0231   310 	ADDL	R1,R0			;FIND REAL ADDRESS OF LIST

         E0 AD            50     D0  0234   311 40$:	MOVL	R0,WRK_L_QUABLK(FP)	;SET ADDRESS QUALIFIER DESCRIPTORS

                          4D     10  0238   312 	BSBB	100$			;GET ADDRESS OF PROMPT DESCRIPTORS

         DC AD            50     D0  023A   313 	MOVL	R0,WRK_L_PROPTR(FP)	;SAVE ADDRESS OF PROMPT DESCRIPTORS

            68            03     E1  023E   314 	BBC	#CMD_V_NOSTAT,(R8),50$	;BR IF COMMAND HAS NORMAL STATUS

                          05         0241       

                                     0242   315 	SETBIT	WRK_V_NOSTAT,WRK_W_FLAGS(FP) ;PROPAGATE THE FLAG

            68            00     E0  0247   316 50$:	BBS	#CMD_V_FOREIGN,(R8),90$	;IF SET, FOREIGN COMMAND

                          36         024A       

            68            01     E0  024B   317 	BBS	#CMD_V_IMMED,(R8),120$	;IF SET, IMMEDIATE COMMAND EXECUTION

                          41         024E       

                          50     D4  024F   318 	CLRL	R0			;ASSUME NO PARSE ROUTINE CASE INDICIES

            88            02     E1  0251   319 	BBC	#CMD_V_PAROUT,(R8)+,60$	;IF CLR, NO PARSE ROUTINE CASE INDICIES

                          03         0254       

            50            68     9E  0255   320 	MOVAB	(R8),R0			;GET ADDRESS OF PARSE ROUTINE CASE INDICIES

         F4 AD            50     D0  0258   321 60$:	MOVL	R0,WRK_L_PAROUT(FP)	;SAVE ADDRESS OF PARSE ROUTINE CASE INDICES

                                     025C   322  

                                     025C   323 ;

                                     025C   324 ; PROCESS COMMAND QUALIFIERS

                                     025C   325 ;

                                     025C   326  

         FA AD       0080 8F     A8  025C   327 	BISW	#WRK_M_VERB,WRK_W_FLAGS(FP) ;SET VERB PROCESSING FLAG

                                     0262   328 70$:	SETCHAR				;PEEK AT NEXT CHARACTER IN INPUT BUFFER

            50            2F     91  0265   329 	CMPB	#^A\/\,R0		;QUALIFIER?

                          37     12  0268   330 	BNEQ	140$			;IF NEQ NO

            51         DC AD     D0  026A   331 	MOVL	WRK_L_PROPTR(FP),R1	;GET ADDRESS OF PROMPT DESCRIPTOR

                          05     13  026E   332 	BEQL	80$			;BR IF NO PROMPT DESCRIPTOR

         01 A1            03     E0  0270   333 	BBS	#PRO_V_OPTION,PRO_B_FLAGS(R1),130$ ;IF SET, QUALIFIER IS OPTION

                          24         0274       

            56            59     D0  0275   334 80$:	MOVL	R9,R6			;SAVE DISPLAY PARAMETER

                                     0278   335 	PROCQUAL			;PROCESS QUALIFIER

            E4            50     E8  027B   336 	BLBS	R0,70$			;IF LBS SUCCESSFUL COMPLETION

                          01BB   31  027E   337 	BRW	ERROR_EXIT		;

                                     0281   338  

                                     0281   339 ;

                                     0281   340 ; FOREIGN COMMAND VERB

                                     0281   341 ;

                                     0281   342  

                          0222   30  0281   343 90$:	BSBW	PROCFORN		;PROCESS FOREIGN COMMAND

                          0104   31  0284   344 	BRW	310$			;

                                     0287   345  

                                     0287   346 ;

                                     0287   347 ; CALCULATE ADDRESS FROM BYTE DISPLACEMENT

                                     0287   348 ;

                                     0287   349  

            50            88     9A  0287   350 100$:	MOVZBL	(R8)+,R0		;GET POSITIVE DISPLACEMENT

                          03     13  028A   351 	BEQL	110$			;IF EQL NONE

            50            58     C0  028C   352 	ADDL	R8,R0			;CALCULATE ACTUAL ADDRESS

                                 05  028F   353 110$:	RSB				;

                                     0290   354  

                                     0290   355 ;

                                     0290   356 ; IMMEDIATE COMMAND EXECUTION

                                     0290   357 ;

                                     0290   358  

            07            00     EF  0290   359 120$:	EXTZV	#0,#7,WRK_L_IMAGE(FP),R3 ;GET INTERNAL IMAGE INDEX

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   8

01.1            PROCESS NEXT COMMAND                                                                                             (1)



            53         EC AD         0293       

                          01A0   31  0296   360 	BRW	IMMED			;

                                     0299   361  

                                     0299   362 ;

                                     0299   363 ; QUALIFIER SPECFIED ON COMMAND THAT TAKES OPTIONS

                                     0299   364 ;

                                     0299   365  

            50         FC AD     D0  0299   366 130$:	MOVL	WRK_L_CHARPTR(FP),R0	;GET CURRENT CHARACTER POINTER

         01 A0            20     90  029D   367 	MOVB	#^A/ /,1(R0)		;SET QUALIFIER SLASG TO A BLANK

                                     02A1   368  

                                     02A1   369 ;

                                     02A1   370 ; PROCESS COMMAND PARAMETERS

                                     02A1   371 ;

                                     02A1   372  

         FA AD       0080 8F     AA  02A1   373 140$:	BICW	#WRK_M_VERB,WRK_W_FLAGS(FP) ;CLEAR VERB PROCESSING

                       F0 AD     D4  02A7   374 	CLRL	WRK_L_PARMCNT(FP)	;CLEAR COUNT OF PARAMETERS

         F0 AD            02     C5  02AA   375 150$:	MULL3	#PRO_K_LENGTH,WRK_L_PARMCNT(FP),R8 ;CALCULATE PROMPT OFFSET

                          58         02AE       

            58         DC BD48   9E  02AF   376 	MOVAB	@WRK_L_PROPTR(FP)[R8],R8 ;GET ADDRESS OF PROMPT DESCRIPTOR

            56            59     D0  02B4   377 	MOVL	R9,R6			;SAVE DISPLAY PARAMETER

                                     02B7   378 	SETCHAR				;PEEK AT NEXT CHARACTER IN INPUT BUFFER

                          5F     13  02BA   379 	BEQL	240$			;IF EQL END OF LINE

            50            20     91  02BC   380 	CMPB	#^A/ /,R0		;BLANK?

                          54     12  02BF   381 	BNEQ	230$			;IF NEQ NO

            56            59     D0  02C1   382 160$:	MOVL	R9,R6			;SAVE DISPLAY PARAMETER

                       E4 AD     D5  02C4   383 	TSTL	WRK_L_MAXPARM(FP)	;PARAMETERS ALLOWED ON THIS COMMAND?

                          33     13  02C7   384 	BEQL	200$			;BR IF NONE ALLOWED

         01 A8            03     E0  02C9   385 	BBS	#PRO_V_OPTION,PRO_B_FLAGS(R8),180$ ;IF SET, PARAMETER IS QUALIFIER

                          0E         02CD       

                                     02CE   386 	PROCFILE			;PROCESS FILE SPECIFICATION

            67            50     E9  02D1   387 170$:	BLBC	R0,260$			;IF LBC PARSE ERROR

                                     02D4   388 	SETCHAR				;PEEK AT NEXT CHARACTER IN INPUT BUFFER

            50            2F     91  02D7   389 	CMPB	#^A\/\,R0		;QUALIFIER?

                          05     12  02DA   390 	BNEQ	190$			;IF NEQ NO

                                     02DC   391 180$:	PROCQUAL			;PROCESS QUALIFIER SPECIFICATION

                          F0     11  02DF   392 	BRB	170$			;

            50            2C     91  02E1   393 190$:	CMPB	#^A/,/,R0		;MULTIPLE PARAMETERS?

                          1B     13  02E4   394 	BEQL	210$			;IF EQL YES

            50            2B     91  02E6   395 	CMPB	#^A/+/,R0		;CONCATENATED PARAMETERS?

                          20     13  02E9   396 	BEQL	220$			;IF EQL YES

         01 A8            03     E0  02EB   397 	BBS	#PRO_V_OPTION,PRO_B_FLAGS(R8),150$ ;IF SET, PARAMETER IS QUALIFIER

                          BA         02EF       

                       F0 AD     D6  02F0   398 	INCL	WRK_L_PARMCNT(FP)	;INCREMENT COUNT OF PARAMETERS

         E4 AD         F0 AD     D1  02F3   399 	CMPL	WRK_L_PARMCNT(FP),WRK_L_MAXPARM(FP) ;MAXIMUM PARAMETERS EXCEEDED?

                          02     14  02F8   400 	BGTR	200$			;BR IF YES

                          AE     11  02FA   401 	BRB	150$			;

                                     02FC   402  

                                     02FC   403 ;

                                     02FC   404 ; MAXIMUM PARAMETER COUNT EXCEEDED

                                     02FC   405 ;

                                     02FC   406  

                                     02FC   407 200$:	STATUS	MAXPARM			;ASSUME MAXIMUM PARAMETERS EXCEEDED

                          3A     11  02FF   408 	BRB	260$			;

                                     0301   409  

                                     0301   410 ;

                                     0301   411 ; PARAMETER LIST SPECIFIED

                                     0301   412 ;

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page   9

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                                     0301   413  

         01 A8            02     E0  0301   414 210$:	BBS	#PRO_V_LIST,PRO_B_FLAGS(R8),160$ ;IF SET, LISTS ALLOWED

                          BB         0305       

                                     0306   415 	STATUS	NOLIST			;SET NO LISTS ALLOWED STATUS

                          30     11  0309   416 	BRB	260$			;

                                     030B   417  

                                     030B   418 ;

                                     030B   419 ; PARAMETER CONCATENATION SPECIFIED

                                     030B   420 ;

                                     030B   421  

         01 A8            00     E0  030B   422 220$:	BBS	#PRO_V_CONCAT,PRO_B_FLAGS(R8),160$ ;IF SET, CONCATENATION ALLOWED

                          B1         030F       

                                     0310   423 	STATUS	NOCCAT			;SET NO CONCATENATION ALLOWED STATUS

                          26     11  0313   424 	BRB	260$			;

                                     0315   425  

                                     0315   426 ;

                                     0315   427 ; INVALID PARAMETER DELIMITER

                                     0315   428 ;

                                     0315   429  

                                     0315   430 230$:	STATUS	PARMDEL			;SET INVALID PARAMETER DELIMITER STATUS

                          20     11  0319   431 	BRB	260$			;

                                     031B   432  

                                     031B   433 ;

                                     031B   434 ; ALL COMMAND INPUT PROCESSED - CHECK FOR SUFFICIENT PARAMETERS

                                     031B   435 ;

                                     031B   436  

         FA AD            03     E2  031B   437 240$:	BBSS	#WRK_V_PROMPT,WRK_W_FLAGS(FP),270$ ;IF SET ALREADY PROMPTING

                          1E         031F       

         E8 AD         F0 AD     D1  0320   438 	CMPL	WRK_L_PARMCNT(FP),WRK_L_MINPARM(FP) ;SUFFICIENT PARAMETERS?

                          64     18  0325   439 	BGEQ	310$			;IF GEQ YES

         54 AB            0B     E0  0327   440 	BBS	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),270$ ;IF SET, AT CONTROL Y/C LEVEL

                          12         032B       

         14 AB         08 AB     D1  032C   441 	CMPL	PRC_L_INPRAB(R11),PRC_L_INDINPRAB(R11) ;INDIRECT LEVEL ZERO?

                          05     12  0331   442 	BNEQ	250$			;IF NEQ NO

         54 AB            06     E1  0333   443 	BBC	#PRC_V_MODE,PRC_W_FLAGS(R11),270$ ;IF CLR, INTERACTIVE MODE

                          06         0337       

                                     0338   444 250$:	STATUS	INSFPRM			;SET INSUFFICIENT PARAMETERS

                          00FE   31  033B   445 260$:	BRW	ERROR_EXIT		;

                                     033E   446  

                                     033E   447 ;

                                     033E   448 ; PROMPT FOR ADDITIONAL PARAMETERS

                                     033E   449 ;

                                     033E   450  

         E4 AD         F0 AD     D1  033E   451 270$:	CMPL	WRK_L_PARMCNT(FP),WRK_L_MAXPARM(FP) ;ALL PARAMETERS PROCESSED?

                          46     18  0343   452 	BGEQ	310$			;IF GEQ YES

            53            68     9A  0345   453 	MOVZBL	PRO_B_PROMPT(R8),R3	;GET PROMPT STRING INDEX NUMBER

            52       0000'CF     9E  0348   454 	MOVAB	W^DCL$AB_PROMPTBL,R2	;GET ADDRESS OF PROMPT TABLE

                                     034D   455 	LOCATE				;LOCATE PROMPT STRING

            50            5E     D0  0350   456 	MOVL	SP,R0			;GET ADDRESS OF STORAGE TO BUILD PROMPT STRING

            80            00'    90  0353   457 	MOVB	S^#DCL$K_PROMPTPAD,(R0)+;SET LENGHT OF THE PROMPT

            80       5F24 8F     B0  0356   458 	MOVW	#^A/$_/,(R0)+		;INSERT PREFIX CHARACTERS

            80            82     90  035B   459 280$:	MOVB	(R2)+,(R0)+		;MOVE CHARACTER TO PROMPT STRING

            FA            51     F5  035E   460 	SOBGTR	R1,280$			;ANY MORE TO MOVE?

            80            3A     90  0361   461 	MOVB	#^A/:/,(R0)+		;INSERT SUFFIX CHARACTERS

            80            20     90  0364   462 290$:	MOVB	#^A/ /,(R0)+		;PAD PROMPT WITH BLANKS

            50            5E     C3  0367   463 	SUBL3	SP,R0,R1		;GET NUMBER OF CHARACTERS IN PROMPT

                          51         036A       

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  10

01.1            PROCESS NEXT COMMAND                                                                                             (1)



            00'           51     91  036B   464 	CMPB	R1,S^#DCL$K_PROMPTPAD	;CHECK IF PADDED ENOUGH

                          F4     15  036E   465 	BLEQ	290$			;BR IF NO

         D0 AD            5E     D0  0370   466 	MOVL	SP,WRK_L_PROMPT(FP)	;SET ADDRESS OF NEW PROMPT STRING

                                     0374   467 	FORNBLK				;FORCE NONBLANK CHARACTER

                          0A     13  0377   468 	BEQL	300$			;IF EQL NULL LINE

         FC BD            20     90  0379   469 	MOVB	#^A/ /,@WRK_L_CHARPTR(FP) ;INSERT BLANK AT FRONT OF BUFFER

                       FC AD     D7  037D   470 	DECL	WRK_L_CHARPTR(FP)	;BACK UP CHARACTER POINTER

                          FF3E   31  0380   471 	BRW	160$			;

                                     0383   472  

                                     0383   473 ;

                                     0383   474 ; NULL RESPONSE FROM PROMPT SOLICITATION

                                     0383   475 ;

                                     0383   476  

                                     0383   477 300$:	CHECK_AST			;CHECK FOR PENDING CONTROL Y/C AST

         01 A8            04     E0  0386   478 	BBS	#PRO_V_REQ,PRO_B_FLAGS(R8),270$ ;IF SET, PARAMETER REQUIRED

                          B3         038A       

                                     038B   479  

                                     038B   480 ;

                                     038B   481 ; BUILD IMAGE NAME DESCRIPTOR

                                     038B   482 ;

                                     038B   483  

            53         EC AD     D0  038B   484 310$:	MOVL	WRK_L_IMAGE(FP),R3	;GET IMAGE NAME INDEX NUMBER

            53            1E     E1  038F   485 	BBC	#30,R3,320$		;BR IF THIS NOT A USER IMAGE?

                          08         0392       

            52            53     D0  0393   486 	MOVL	R3,R2			;ADDRESS OF IMAGE NAME COUNTED STRING

            51            82     9A  0396   487 	MOVZBL	(R2)+,R1		;GET COUNT TO R1, ADDRESS TO R2

                          0E     11  0399   488 	BRB	EXECEXT			;GO EXECUTE THAT

            53            07     E4  039B   489 320$:	BBSC	#7,R3,EXECINT		;IF SET, INTERNAL COMMAND

                          0E         039E       

                          53     D7  039F   490 	DECL	R3			;CONVERT TO RELATIVE IMAGE NAME INDEX

            52       0000'CF     9E  03A1   491 	MOVAB	W^DCL$AB_IMAGETBL,R2	;GET ADDRESS OF IMAGE NAME TABLE

                                     03A6   492 	LOCATE				;LOCATE IMAGE NAME STRING

                                     03A9   493  

                                     03A9   494 ;

                                     03A9   495 ; EXECUTE EXTERNAL COMMAND

                                     03A9   496 ;

                                     03A9   497  

                                     03A9   498 EXECEXT:				;EXECUTE EXTERNAL COMMAND

            53         00'8F     9A  03A9   499 	MOVZBL	#IMG_K_EXTIMAGE&^X7F,R3	;SET EXTERNAL IMAGE COMMAND INDEX

                                     03AD   500  

                                     03AD   501 ;

                                     03AD   502 ; EXECUTE INTERNAL COMMAND

                                     03AD   503 ;

                                     03AD   504  

                                     03AD   505 EXECINT:				;EXECUTE INTERNAL COMMAND

                          0E     BB  03AD   506 	PUSHR	#^M<R1,R2,R3>		;SAVE IMAGE NAME PARAMETERS

            55            04     9A  03AF   507 	MOVZBL	#PTR_K_ENDLINE,R5	;SET ITEM TYPE TO END OF LINE

                          56     D4  03B2   508 	CLRL	R6			;CLEAR FLAGS

            57            01     9A  03B4   509 	MOVZBL	#1,R7			;SET LENGTH OF ITEM

            58            59     D0  03B7   510 	MOVL	R9,R8			;SET STARTING ADDRESS OF ITEM

                                     03BA   511 	GENDESCR			;GENERATE RESULT PARSE DESCRIPTOR

                          0E     BA  03BD   512 	POPR	#^M<R1,R2,R3>		;RESTORE IMAGE NAME PARAMETERS

       FD34 CD            5A     D0  03BF   513 	MOVL	R10,WRK_L_RSLNXT(FP)	;SAVE ADDRESS OF LAST DESCRIPTOR + 4

         EC AD            07     E1  03C4   514 	BBC	#7,WRK_L_IMAGE(FP),70$	;IF CLR, EXTERNAL IMAGE

                          55         03C8       

            57       FBB4 CD     9E  03C9   515 	MOVAB	WRK_AG_RESULT(FP),R7	;GET ADDRESS OF RESULT DESCRIPTOR ARRAY

            58            57     D0  03CE   516 	MOVL	R7,R8			;COPY ADDRESS OF RESULT DESCRIPTOR ARRAY

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  11

01.1            PROCESS NEXT COMMAND                                                                                             (1)



            5E       FE80 CE     9E  03D1   517 	MOVAB	-RSLBUFSIZ(SP),SP	;ALLOCATE TEMPORARY DESCRIPTOR ARRAY

            59            5E     D0  03D6   518 	MOVL	SP,R9			;SAVE ADDRESS OF TEMPORARY DESCRIPTOR ARRAY

       FD34 CD            57     D1  03D9   519 10$:	CMPL	R7,WRK_L_RSLNXT(FP)	;END OF RESULT DESCRIPTOR ARRAY?

                          1D     13  03DE   520 	BEQL	30$			;IF EQL YES

            69            87     D0  03E0   521 	MOVL	(R7)+,(R9)		;MOVE DESCRIPTOR TO TEMPORARY ARRAY

                          1C     ED  03E3   522 	CMPZV	#PTR_V_TYPE,#PTR_S_TYPE,- ;COMMAND QUALIFIER?

            69            04         03E5   523 		(R9),#PTR_K_COMDQUAL	;

                          00         03E7       

                          EF     12  03E8   524 	BNEQ	10$			;IF NEQ NO

                       FC A7     D4  03EA   525 	CLRL	-4(R7)			;CLEAR COMMAND QUALIFIER DESCRIPTOR

                          89     D5  03ED   526 	TSTL	(R9)+			;POINT TO NEXT ITEM IN TEMPORARY ARRAY

                          1C     ED  03EF   527 20$:	CMPZV	#PTR_V_TYPE,#PTR_S_TYPE,- ;QUALIFIER VALUE?

            67            04         03F1   528 		(R7),#PTR_K_QUALVALU	;

                          02         03F3       

                          E3     12  03F4   529 	BNEQ	10$			;IF NEQ NO

            89            67     D0  03F6   530 	MOVL	(R7),(R9)+		;MOVE DESCRIPTOR TO TEMPORARY ARRAY

                          87     D4  03F9   531 	CLRL	(R7)+			;CLEAR QUALIFIER VALUE DESCRIPTOR

                          F2     11  03FB   532 	BRB	20$			;

            5A            57     D0  03FD   533 30$:	MOVL	R7,R10			;COPY ADDRESS OF LAST DESCRIPTOR + 4

            58            57     D1  0400   534 40$:	CMPL	R7,R8			;ANY MORE DESCRIPTORS TO EXAMINE?

                          0A     13  0403   535 	BEQL	50$			;IF EQL NO

            56            77     D0  0405   536 	MOVL	-(R7),R6		;GET DESCRIPTOR

                          F6     13  0408   537 	BEQL	40$			;IF EQL NONE

            7A            56     D0  040A   538 	MOVL	R6,-(R10)		;MOVE DESCRIPTOR TO NEW POSITION

                          F1     11  040D   539 	BRB	40$			;

            5E            59     D1  040F   540 50$:	CMPL	R9,SP			;ANY MORE TEMPORARY DESCRIPTORS?

                          05     13  0412   541 	BEQL	60$			;IF EQL NO

            7A            79     D0  0414   542 	MOVL	-(R9),-(R10)		;MOVE DESCRIPTOR TO NEW POSITION

                          F6     11  0417   543 	BRB	50$			;

            5E       0180 CE     9E  0419   544 60$:	MOVAB	RSLBUFSIZ(SP),SP	;DEALLOCATE TEMPORARY DESCRIPTOR ARRAY

         FA AD            02     A8  041E   545 70$:	BISW	#WRK_M_COMMAND,WRK_W_FLAGS(FP) ;SET COMMAND EXECUTION IN PROGRESS

            59            5E     D0  0422   546 	MOVL	SP,R9			;SET ADDRESS OF SCRATCH STACK

            5E       FEF8 CE     9E  0425   547 	MOVAB	-MSGBUFSIZ*2(SP),SP	;ALLOCATE MESSAGE BUFFER ON STACK

                          6E     9F  042A   548 	PUSHAB	(SP)			;BUILD SCRATCH BUFFER DESCRIPTOR

            7E       0108 8F     3C  042C   549 	MOVZWL	#MSGBUFSIZ*2,-(SP)	;

            58            5E     D0  0431   550 	MOVL	SP,R8			;SET ADDRESS OF SCRATCH BUFFER DESCRIPTOR

            5A       FBB4 CD     9E  0434   551 	MOVAB	WRK_AG_RESULT(FP),R10	;GET ADDRESS OF RESULT DESCRIPTOR ARRAY

                                     0439   552  

                                     0439   553 ;

                                     0439   554 ; INTERNAL COMMAND PARAMETERS:

                                     0439   555 ;

                                     0439   556 ;	R1 = LENGTH OF IMAGE FILENAME (IF ANY).

                                     0439   557 ;	R2 = ADDRESS OF IMAGE FILENAME (IF ANY).

                                     0439   558 ;	R8 = ADDRESS OF SCRATCH BUFFER DESCRIPTOR.

                                     0439   559 ;	R9 = ADDRESS OF SCRATCH STACK.

                                     0439   560 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     0439   561 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     0439   562 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

                                     0439   563 ;

                                     0439   564 ; IMMEDIATE COMMAND PARAMETERS:

                                     0439   565 ;

                                     0439   566 ;	R6 = COMMAND BUFFER POINTER BACKUP PARAMETER.

                                     0439   567 ;	R7 = RESULT PARSE TABLE POINTER BACKUP PARAMETER.

                                     0439   568 ;	R9 = ADDRESS OF NEXT BYTE IN COMMAND BUFFER.

                                     0439   569 ;	R10 = RESULT PARSE DESCRIPTOR TABLE POINTER.

                                     0439   570 ;	R11 = BASE ADDRESS OF PROCESS WORK AREA.

                                     0439   571 ;	FP = BASE ADDRESS OF COMMAND WORK AREA.

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  12

01.1            PROCESS NEXT COMMAND                                                                                             (1)



                                     0439   572 ;

                                     0439   573  

                                     0439   574 IMMED:					;IMMEDIATE COMMAND EXECUTION

                          FBC4'  30  0439   575 	BSBW	DCL$INTIMAGE		;EXECUTE INTERNAL IMAGE

                                     043C   576 ERROR_EXIT:				;ERROR EXIT

            03            50     E8  043C   577 	BLBS	R0,10$			;IF LBS SUCCESSFUL COMPLETION

                                     043F   578 	ERRMSG				;OUTPUT SYSTEM ERROR MESSAGE

                                     0442   579 10$:	SET_STATUS			;SET COMPLETION STATUS

                          43     10  0445   580 	BSBB	DCL$FLUSH		;FLUSH COMMAND BUFFER

                          FBBC   31  0447   581 	BRW	DCL$RESTART		;

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  13

01.1            EOD/DECK COMMANDS                                                                                                (1)



                                     044A   583 	.SBTTL	EOD/DECK COMMANDS

                                     044A   584 ;+

                                     044A   585 ; DCL$EOD/DCL$DECK

                                     044A   586 ;

                                     044A   587 ; THESE COMMANDS ARE PROCESSED BY RMS AND SHOULD NOT BE SEEN BY THE CLI.

                                     044A   588 ; RMS PASSES THEM THROUGH IF THE SYNTAX OR VALUE IS BAD.  ONE CASE IS

                                     044A   589 ; NOT TREATED AS AN ERROR, THAT IS "EOD" ALONE ON A LINE.  THIS COULD

                                     044A   590 ; HAPPEN IF THE STATEMENT WAS ENTERED WITHOUT AN IMAGE RUN.

                                     044A   591 ;-

                                     044A   592  

                                     044A   593 DCL$EOD::				;

                                     044A   594 	SETNBLK				;LOOK FOR NEXT CHARATER IN LINE

                          04     12  044D   595 	BNEQ	DCL$DECK		;BR IF NOT A NULL LINE

                                     044F   596 	STATUS	NORMAL			;SET OK STATUS

                                 05  0452   597 	RSB				;

                                     0453   598  

                                     0453   599 DCL$DECK::				;

                                     0453   600 	STATUS	IVVALU			; ASSUME ERROR WAS INVALID VALUE

                                 05  0456   601 	RSB

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  14

01.1            CHECK FOR CONTROL Y/C AST PENDING                                                                                (1)



                                     0457   603 	.SBTTL	CHECK FOR CONTROL Y/C AST PENDING

                                     0457   604 ;+

                                     0457   605 ; DCL$CHECK_AST - CHECK FOR CONTROL Y/C AST PENDING

                                     0457   606 ;

                                     0457   607 ; THIS ROUTINE IS CALLED TO CHECK FOR A PENDING CONTROL Y/C AST.

                                     0457   608 ;

                                     0457   609 ; INPUTS:

                                     0457   610 ;

                                     0457   611 ;	NONE.

                                     0457   612 ;

                                     0457   613 ; OUTPUTS:

                                     0457   614 ;

                                     0457   615 ;	IF A CONTROL Y/C AST IS PENDING, THEN CONTROL IS TRANSFERED TO THE COMMAND

                                     0457   616 ;	RESTART ENTRY POINT. OTHERWISE CONTROL IS RETURNED TO THE CALLER.

                                     0457   617 ;-

                                     0457   618  

                                     0457   619 	.ENABL	LSB

                                     0457   620 DCL$CHECK_AST::				;CHECK FOR PENDING CONTROL Y/C AST

         54 AB            01     E1  0457   621 	BBC	#PRC_V_CNTRLY,PRC_W_FLAGS(R11),50$ ;IF CLR, NO CONTROL Y/C REQUEST

                          2D         045B       

                          FBA7   31  045C   622 10$:	BRW	DCL$RESTART		;

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  15

01.1            ENABLE/DISABLE CONTROL Y/C AST'S                                                                                 (1)



                                     045F   624 	.SBTTL	ENABLE/DISABLE CONTROL Y/C AST'S

                                     045F   625 ;+

                                     045F   626 ; DCL$DISABLE - DISABLE CONTROL Y/C AST'S

                                     045F   627 ;

                                     045F   628 ; THIS ROUTINE IS CALLED TO DISABLE/ENABLE CONTROL Y/C AST'S.

                                     045F   629 ;

                                     045F   630 ; INPUTS:

                                     045F   631 ;

                                     045F   632 ;	NONE.

                                     045F   633 ;

                                     045F   634 ; OUTPUTS:

                                     045F   635 ;

                                     045F   636 ;	CONTROL Y/C AST'S ARE DISABLED, THE PREVIOUS ENABLE STATE IS SAVED, AND

                                     045F   637 ;	A CO-ROUTINE CALL IS MADE BACK TO THE CALLER. WHEN CONTROL RETURNS, THE

                                     045F   638 ;	AST STATE IS RESTORED TO ITS VALUE BEFORE THE DISABLE.

                                     045F   639 ;

                                     045F   640 ;	ALL REGISTERS ARE PRESERVED ACROSS CALL

                                     045F   641 ;-

                                     045F   642  

                                     045F   643 DCL$DISABLE::				;DISABLE CONTROL Y/C AST'S

                          6E     DD  045F   644 	PUSHL	(SP)			;COPY RETURN ADDRESS

         04 AE         54 AB     3C  0461   645 	MOVZWL	PRC_W_FLAGS(R11),4(SP)	;SAVE PREVIOUS DISABLE STATE

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

                          9E     16  046A   647 	JSB	@(SP)+			;CALL THE CALLER BACK

         04 AE            02     E0  046C   648 	BBS	#PRC_V_DISABL,4(SP),40$	;IF SET, AST'S PREVIOUSLY DISABLED

                          15         0470       

         54 AB            0B     E0  0471   649 	BBS	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),20$ ;IF SET, AT CONTROL Y/C LEVEL

                          07         0475       

         14 AB         08 AB     D1  0476   650 	CMPL	PRC_L_INPRAB(R11),PRC_L_INDINPRAB(R11) ;INDIRECT LEVEL ZERO?

                          05     12  047B   651 	BNEQ	30$			;IF NEQ NO

         54 AB            01     E0  047D   652 20$:	BBS	#PRC_V_CNTRLY,PRC_W_FLAGS(R11),10$ ;IF SET, CONTROL Y/C REQUEST

                          DA         0481       

         54 AB            04     AA  0482   653 30$:	BICW	#PRC_M_DISABL,PRC_W_FLAGS(R11) ;ENABLE CONTROL Y/C AST'S

                          6E   8ED0  0486   654 40$:	POPL	(SP)			;REMOVE PREVIOUS STATE FROM STACK

                                 05  0489   655 50$:	RSB				;

                                     048A   656 	.DSABL	LSB

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  16

01.1            FLUSH COMMAND BUFFER                                                                                             (1)



                                     048A   658 	.SBTTL	FLUSH COMMAND BUFFER

                                     048A   659 ;+

                                     048A   660 ; DCL$FLUSH - FLUSH COMMAND BUFFER

                                     048A   661 ;

                                     048A   662 ; THIS ROUTINE IS CALLED TO READ CHARACTERS FROM THE COMMAND BUFFER UNTIL AN

                                     048A   663 ; END OF LINE IS ENCOUNTERED.

                                     048A   664 ;

                                     048A   665 ; INPUTS:

                                     048A   666 ;

                                     048A   667 ;	NONE.

                                     048A   668 ;

                                     048A   669 ; OUTPUTS:

                                     048A   670 ;

                                     048A   671 ;	INDIRECT FILE RECOGNITION IS DISABLED AND CHARACTERS ARE READ FROM THE

                                     048A   672 ;	INPUT BUFFER UNTIL AN END OF LINE IS ENCOUNTERED.

                                     048A   673 ;-

                                     048A   674  

                                     048A   675 DCL$FLUSH::				;FLUSH COMMAND BUFFER

         54 AB            0B     E0  048A   676 	BBS	#PRC_V_YLEVEL,PRC_W_FLAGS(R11),20$ ; IF AT ^Y LEVEL DON'T FLUSH

                          16         048E       

            50         14 AB     D0  048F   677 	MOVL	PRC_L_INDINPRAB(R11),R0	; GET CURRENT INPUT RAB

         18 A0            02     E0  0493   678 	BBS	#DEV$V_TRM,RAB$L_CTX(R0),20$ ; LIKEWISE FOR TERMINALS

                          0D         0497       

         54 AB            20     A8  0498   679 	BISW	#PRC_M_IND,PRC_W_FLAGS(R11) ;DISABLE INDIRECT FILE RECOGNITION

                                     049C   680 10$:	GETCHAR				;GET CHARACTER FROM INPUT BUFFER

                          FB     12  049F   681 	BNEQ	10$			;IF NEQ NOT END OF LINE

         54 AB            20     AA  04A1   682 	BICW	#PRC_M_IND,PRC_W_FLAGS(R11) ;ENABLE INDIRECT FILE RECOGNITION

                                 05  04A5   683 20$:	RSB				;

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  17

01.1            PROCESS FOREIGN COMMAND                                                                                          (1)



                                     04A6   685 	.SBTTL	PROCESS FOREIGN COMMAND

                                     04A6   686 ;

                                     04A6   687 ; SUBROUTINE TO PROCESS FOREIGN COMMAND AND BUILD RESULT PARSE DESCRIPTOR

                                     04A6   688 ;

                                     04A6   689  

                                     04A6   690 PROCFORN:				;PROCESS FOREIGN COMMAND

            58            59     D0  04A6   691 	MOVL	R9,R8			;ASSUME NO INTERVENING SPACE BETWEEN TEXT

         54 AB            20     A8  04A9   692 	BISW	#PRC_M_IND,PRC_W_FLAGS(R11) ;DISABLE INDIRECT FILE INTERPRETATION

                                     04AD   693 	SETCHAR				;PEEK AT NEXT CHARACTER IN INPUT BUFFER

            50            20     91  04B0   694 	CMPB	#^A/ /,R0		;BLANK?

                          02     12  04B3   695 	BNEQ	10$			;IF NEQ NO

                          58     D6  04B5   696 	INCL	R8			;ADJUST TO START OF NONBLANK TEXT

                                     04B7   697 10$:	MOVCHAR				;MOVE CHARACTER TO COMMAND BUFFER

                          FB     12  04BA   698 	BNEQ	10$			;IF NEQ NOT END OF FILE

                          59     D7  04BC   699 	DECL	R9			;BACK UP TO TERMINATOR

            59            58     C3  04BE   700 	SUBL3	R8,R9,R7		;CALCULATE LENGTH OF COMMAND LINE

                          57         04C1       

                          56     D4  04C2   701 	CLRL	R6			;CLEAR FLAGS

            55            03     9A  04C4   702 	MOVZBL	#PTR_K_PARAMETR,R5	;SET ITEM TYPE TO PARAMETER

                                     04C7   703 	GENDESCR			;GENERATE RESULT PARSE TABLE DESCRIPTOR

         54 AB            20     AA  04CA   704 	BICW	#PRC_M_IND,PRC_W_FLAGS(R11) ;ENABLE INDIRECT FILE INTERPRETATION

                                 05  04CE   705 	RSB				;

                                     04CF   706  

                                     04CF   707 	.END

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (1)



ABVERB           00000191 R     03   CLI$_ONLEVL    = 00038100            DCL$AW_USERPTR   ********   X   03   

BIT...         = 00000020            CLI$_ONOVF     = 00038108            DCL$CHECK_AST    00000457 RG    03   

CLI$K_VERB_FORE  ********   X   03   CLI$_OVRFLW    = 00038160            DCL$CMDSTART     0000000C RG    03   

CLI$_ABFNAM    = 000381B8            CLI$_PARMDEL   = 00038110            DCL$CONDHAND     ********   X   03   

CLI$_ABKEYW    = 00038000            CLI$_PROC_ID   = 0003FFF1            DCL$DEALGOTO     ********   X   03   

CLI$_ABVERB    = 00038008            CLI$_QUEJOBCRE = 0003FFF9            DCL$DECK         00000453 RG    03   

CLI$_BADRET    = 00038198            CLI$_REQPRMABS = 00038812            DCL$DISABLE      0000045F RG    03   

CLI$_BADTEXT   = 000381B0            CLI$_RSLOVF    = 00038118            DCL$EOD          0000044A RG    03   

CLI$_BUFOVF    = 00038018            CLI$_SKPDAT    = 00038120            DCL$EQUATE       ********   X   03   

CLI$_COMPLX    = 00038020            CLI$_SPARE0    = 00038010            DCL$ERRORMSG     ********   X   03   

CLI$_CONFQUAL  = 00038802            CLI$_SPARE1    = 00038058            DCL$EVALUATE     ********   X   03   

CLI$_CREQUEJOB = 0003884A            CLI$_STKOVF    = 00038128            DCL$FLUSH        0000048A RG    03   

CLI$_DEFOVF    = 00038028            CLI$_SUBMITERR = 00038852            DCL$FORNBLK      ********   X   03   

CLI$_DEVALSPL  = 0003885A            CLI$_SYMDEL    = 00038130            DCL$GENDESCR     ********   X   03   

CLI$_DEVNOTFOR = 0003887A            CLI$_SYMOVF    = 00038138            DCL$GETCHAR      ********   X   03   

CLI$_DEVNOTSPL = 00038862            CLI$_UNDFIL    = 00038188            DCL$GETOKEN      ********   X   03   

CLI$_DIRECT    = 00038030            CLI$_UNDSYM    = 00038140            DCL$HYPHEN       ********   X   03   

CLI$_EXPSYN    = 00038038            CLI$_UNPROPARM = 00038170            DCL$INTIMAGE     ********   X   03   

CLI$_FILOPN    = 00038190            CLI$_UNPROQUAL = 00038168            DCL$K_PROMPTPAD  ********   X   03   

CLI$_ILLVAL    = 0003883A            CLI$_USGOTO    = 00038148            DCL$LOCATE       ********   X   03   

CLI$_IMCHNG    = 00038040            CLI$_VALCNVERR = 00038832            DCL$LOGOUT       ********   X   03   

CLI$_IMGFNF    = 00038872            CLI$_VALREQ    = 00038150            DCL$MOVCHAR      ********   X   03   

CLI$_INSFPRM   = 00038048            CMDBUFSIZ      = 000001FC            DCL$POSITION     ********   X   03   

CLI$_INVKEY    = 00038178            CMDVERB          00000196 R     03   DCL$PROCFILE     ********   X   03   

CLI$_INVQUAL   = 0003880A            CMD_AB_PAROUT    00000006            DCL$PROCQUAL     ********   X   03   

CLI$_INVQUALNUM= 0003881A            CMD_B_DEFIMG     00000002            DCL$RESTART      00000006 RG    03   

CLI$_INVREQTYP = 00038822            CMD_B_FLAGS      00000005            DCL$SEARCH       ********   X   03   

CLI$_INVRSP    = 00038180            CMD_B_PARMCNT    00000001            DCL$SETCHAR      ********   X   03   

CLI$_INVUIC    = 000381A8            CMD_B_PROMPT     00000004            DCL$SETNBLK      ********   X   03   

CLI$_IVCHAR    = 00038050            CMD_B_QUABLK     00000003            DCL$SET_STATUS   ********   X   03   

CLI$_IVDEVTYPE = 0003886A            CMD_B_VERBTYP    00000000            DCL$SUBASSIGN    ********   X   03   

CLI$_IVFNAM    = 000381C0            CMD_M_ABREV    = 00000020            DCL$T_PROMPT     00000000 RG    03   

CLI$_IVKEYW    = 00038060            CMD_M_DEFQUAL  = 00000010            DEV$M_ALL      = 00800000            

CLI$_IVOPER    = 00038068            CMD_M_FOREIGN  = 00000001            DEV$M_AVL      = 00040000            

CLI$_IVPROT    = 00038070            CMD_M_IMMED    = 00000002            DEV$M_CCL      = 00000002            

CLI$_IVQLOC    = 00038078            CMD_M_NOSTAT   = 00000008            DEV$M_DIR      = 00000008            

CLI$_IVSYMB    = 00038080            CMD_M_PAROUT   = 00000004            DEV$M_DMT      = 00200000            

CLI$_IVVALU    = 00038088            CMD_S_MAXPARM  = 00000004            DEV$M_ELG      = 00400000            

CLI$_IVVERB    = 00038090            CMD_S_MINPARM  = 00000004            DEV$M_FOD      = 00004000            

CLI$_MAXPARM   = 00038098            CMD_V_ABREV    = 00000005            DEV$M_FOR      = 01000000            

CLI$_MULKEY    = 000381A0            CMD_V_DEFQUAL  = 00000004            DEV$M_GEN      = 00020000            

CLI$_NOATFIL   = 000380A0            CMD_V_FOREIGN  = 00000000            DEV$M_IDV      = 04000000            

CLI$_NOCCAT    = 000380A8            CMD_V_IMMED    = 00000001            DEV$M_MBX      = 00100000            

CLI$_NOCOMD    = 000380B0            CMD_V_MAXPARM  = 00000004            DEV$M_MNT      = 00080000            

CLI$_NOKEYW    = 000380B8            CMD_V_MINPARM  = 00000000            DEV$M_NET      = 00002000            

CLI$_NOLIST    = 000380C0            CMD_V_NOSTAT   = 00000003            DEV$M_ODV      = 08000000            

CLI$_NOOPTPRS  = 00038842            CMD_V_PAROUT   = 00000002            DEV$M_RCK      = 40000000            

CLI$_NOQUAL    = 000380C8            COMDERR          0000018E R     03   DEV$M_REC      = 00000001            

CLI$_NORMAL    = 00030001            COMMAND          00000129 R     03   DEV$M_RND      = 10000000            

CLI$_NOTNEG    = 000380D8            DCL$AB_IMAGETBL  ********   X   03   DEV$M_RTM      = 20000000            

CLI$_NOVALU    = 000380D0            DCL$AB_PROMPTBL  ********   X   03   DEV$M_SDI      = 00000010            

CLI$_NOVALUE   = 0003882A            DCL$AB_USRCMD    ********   X   03   DEV$M_SHR      = 00010000            

CLI$_NULFIL    = 000380E0            DCL$AB_USREND    ********   X   03   DEV$M_SPL      = 00000040            

CLI$_NUMBER    = 000380E8            DCL$AB_VERBEND   ********   X   03   DEV$M_SQD      = 00000020            

CLI$_ONCOMD    = 000380F0            DCL$AB_VERBTBL   ********   X   03   DEV$M_SWL      = 02000000            

CLI$_ONERR     = 000380F8            DCL$ALLOCSYM     ********   X   03   DEV$M_TRM      = 00000004            

CLI$_ONEVAL    = 00038158            DCL$AW_COMDPTR   ********   X   03   DEV$M_WCK      = 80000000            

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  19

SYMBOL TABLE                                                                                                                     (1)



DEV$V_ALL      = 00000017            PRC_L_INDEPTH    00000048            PRO_B_FLAGS      00000001            

DEV$V_AVL      = 00000012            PRC_L_INDFAB     0000001C            PRO_B_PROMPT     00000000            

DEV$V_CCL      = 00000001            PRC_L_INDINPRAB  00000014            PRO_K_LENGTH     00000002            

DEV$V_DIR      = 00000003            PRC_L_INDOUTRAB  00000018            PRO_M_CONCAT   = 00000001            

DEV$V_DMT      = 00000015            PRC_L_INPRAB     00000008            PRO_M_IMPCAT   = 00000002            

DEV$V_ELG      = 00000016            PRC_L_LSTSTATUS  00000094            PRO_M_LIST     = 00000004            

DEV$V_FOD      = 0000000E            PRC_L_ONCTLY     0000009C            PRO_M_OPTION   = 00000008            

DEV$V_FOR      = 00000018            PRC_L_ONERROR    00000058            PRO_M_REQ      = 00000010            

DEV$V_GEN      = 00000011            PRC_L_OUTRAB     0000000C            PRO_M_STRING   = 00000020            

DEV$V_IDV      = 0000001A            PRC_L_PROCUIC    00000098            PRO_V_CONCAT   = 00000000            

DEV$V_MBX      = 00000014            PRC_L_SAVAP      00000000            PRO_V_IMPCAT   = 00000001            

DEV$V_MNT      = 00000013            PRC_L_SAVFP      00000004            PRO_V_LIST     = 00000002            

DEV$V_NET      = 0000000D            PRC_L_SEVERITY   00000040            PRO_V_OPTION   = 00000003            

DEV$V_ODV      = 0000001B            PRC_L_STACKLM    00000088            PRO_V_REQ      = 00000004            

DEV$V_RCK      = 0000001E            PRC_L_STACKPT    00000084            PRO_V_STRING   = 00000005            

DEV$V_REC      = 00000000            PRC_L_STATUS     00000044            PSL$C_EXEC     = 00000001            

DEV$V_RND      = 0000001C            PRC_L_SYMBOL     0000004C            PSL$C_KERNEL   = 00000000            

DEV$V_RTM      = 0000001D            PRC_M_CNTRLY   = 00000002            PSL$C_SUPER    = 00000002            

DEV$V_SDI      = 00000004            PRC_M_DBGQUAL  = 00000200            PSL$C_USER     = 00000003            

DEV$V_SHR      = 00000010            PRC_M_DBGTRUE  = 00000400            PSL$M_CM       = 80000000            

DEV$V_SPL      = 00000006            PRC_M_DISABL   = 00000004            PSL$M_CURMOD   = 03000000            

DEV$V_SQD      = 00000005            PRC_M_EXIT     = 00000008            PSL$M_DV       = 00000080            

DEV$V_SWL      = 00000019            PRC_M_GOEOF    = 00000001            PSL$M_FPD      = 08000000            

DEV$V_TRM      = 00000002            PRC_M_GOTO     = 00000010            PSL$M_FU       = 00000040            

DEV$V_WCK      = 0000001F            PRC_M_HANGUP   = 00001000            PSL$M_IPL      = 001F0000            

ERROR_EXIT       0000043C R     03   PRC_M_IND      = 00000020            PSL$M_IS       = 04000000            

EXECEXT          000003A9 R     03   PRC_M_MODE     = 00000040            PSL$M_IV       = 00000020            

EXECINT          000003AD R     03   PRC_M_NOCTLY   = 00004000            PSL$M_PRVMOD   = 00C00000            

FORVERB          00000165 R     03   PRC_M_PAUSE    = 00002000            PSL$M_SAFBITS  = 000037FF            

GBL...         = 00000000            PRC_M_USRDET   = 00000100            PSL$M_TBIT     = 00000010            

IMG_K_EXTIMAGE   ********   X   03   PRC_M_VERIFY   = 00000080            PSL$M_TP       = 40000000            

IMMED            00000439 R     03   PRC_M_YLEVEL   = 00000800            PSL$S_CURMOD   = 00000002            

INDFILE          00000183 R     03   PRC_Q_ALLOCREG   00000020            PSL$S_IPL      = 00000005            

INPBUFSIZ      = 00000084            PRC_Q_GLOBAL     00000028            PSL$S_PRVMOD   = 00000002            

IVVERB           0000018B R     03   PRC_Q_LABEL      00000030            PSL$V_CM       = 0000001F            

MSGBUFSIZ      = 00000084            PRC_Q_LOCAL      00000038            PSL$V_CURMOD   = 00000018            

NOCOMD           00000186 R     03   PRC_V_CNTRLY   = 00000001            PSL$V_DV       = 00000007            

PRCVERB          0000019B R     03   PRC_V_DBGQUAL  = 00000009            PSL$V_FPD      = 0000001B            

PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            PSL$V_FU       = 00000006            

PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            PSL$V_IPL      = 00000010            

PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            PSL$V_IS       = 0000001A            

PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            PSL$V_IV       = 00000005            

PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            PSL$V_PRVMOD   = 00000016            

PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            PSL$V_TBIT     = 00000004            

PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            PSL$V_TP       = 0000001E            

PRC_L_CLIWRK0    0000005C            PRC_V_MODE     = 00000006            PTR_K_BLANK    = 00000001            

PRC_L_CLIWRK1    00000060            PRC_V_NOCTLY   = 0000000E            PTR_K_COLON    = 00000002            

PRC_L_CLIWRK2    00000064            PRC_V_PAUSE    = 0000000D            PTR_K_COMDQUAL = 00000000            

PRC_L_CLIWRK3    00000068            PRC_V_USRDET   = 00000008            PTR_K_COMMA    = 00000005            

PRC_L_CLIWRK4    0000006C            PRC_V_VERIFY   = 00000007            PTR_K_ENDLINE  = 00000004            

PRC_L_ERRRAB     00000010            PRC_V_YLEVEL   = 0000000B            PTR_K_LPAREN   = 00000007            

PRC_L_EXMDEPADR  0000008C            PRC_W_CLIFLAG    00000052            PTR_K_PARAMETR = 00000003            

PRC_L_EXTARG     00000078            PRC_W_ERRIFI     00000052            PTR_K_PARMQUAL = 00000001            

PRC_L_EXTBLK     00000070            PRC_W_FLAGS      00000054            PTR_K_PLUS     = 00000004            

PRC_L_EXTCOD     00000080            PRC_W_INPCHAN    00000050            PTR_K_QUALVALU = 00000002            

PRC_L_EXTHND     00000074            PRC_W_ONLEVEL    00000056            PTR_K_RPAREN   = 00000006            

PRC_L_EXTPRM     0000007C            PROCFORN         000004A6 R     03   PTR_K_SLASH    = 00000003            

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  20

SYMBOL TABLE                                                                                                                     (1)



PTR_L_DESCR      00000000            RAB$M_NXR      = 00800000            SYM_K_PERM     = 00000001            

PTR_S_FLAGS    = 00000004            RAB$M_PMT      = 40000000            SYM_K_STRING   = 00000000            

PTR_S_OFFSET   = 0000000C            RAB$M_PPF_IND  = 00004000            SYM_L_BL         00000004            

PTR_S_TERM     = 00000004            RAB$M_PPF_RAT  = 00003FC0            SYM_L_FL         00000000            

PTR_S_TYPE     = 00000004            RAB$M_PTA      = 20000000            SYM_T_SYMBOL     0000000C            

PTR_S_VALUE    = 00000008            RAB$M_RAH      = 00000200            SYM_W_SIZE       00000008            

PTR_V_FLAGS    = 00000014            RAB$M_RLK      = 00080000            WRK_AB_BUFFER    FFFFFD38            

PTR_V_NEGATE   = 00000000            RAB$M_RNE      = 01000000            WRK_AG_RESULT    FFFFFBB4            

PTR_V_OFFSET   = 00000008            RAB$M_RNF      = 08000000            WRK_B_VERBTYP    FFFFFFC0            

PTR_V_TERM     = 00000018            RAB$M_TMO      = 02000000            WRK_K_LENGTH     FFFFFBB4            

PTR_V_TYPE     = 0000001C            RAB$M_TPT      = 00000002            WRK_L_CHARPTR    FFFFFFFC            

PTR_V_VALUE    = 00000000            RAB$M_UIF      = 00000010            WRK_L_CMDOUT     FFFFFFBC            

RAB$B_BID        00000000            RAB$M_ULK      = 00040000            WRK_L_IMAGE      FFFFFFEC            

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            WRK_L_MAXPARM    FFFFFFE4            

RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            WRK_L_MINPARM    FFFFFFE8            

RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            WRK_L_PARMCNT    FFFFFFF0            

RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            WRK_L_PAROUT     FFFFFFF4            

RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            WRK_L_PROMPT     FFFFFFD0            

RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            WRK_L_PROPTR     FFFFFFDC            

RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            WRK_L_QUABLK     FFFFFFE0            

RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            WRK_L_RSLNXT     FFFFFD34            

RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            WRK_L_SAVAP      FFFFFFC8            

RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            WRK_L_SAVFP      FFFFFFCC            

RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            WRK_L_SAVSP      FFFFFFC4            

RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            WRK_M_COMMAND  = 00000002            

RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            WRK_M_IMCHNG   = 00000004            

RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            WRK_M_INQUIRE  = 00000100            

RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            WRK_M_NOSTAT   = 00000200            

RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            WRK_M_PROMPT   = 00000008            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            WRK_M_QUAL     = 00000010            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            WRK_M_QUOTE    = 00000020            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            WRK_M_RUNDWN   = 00000001            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            WRK_M_STAR     = 00000040            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            WRK_M_TRAILSPC = 00000400            

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

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            WRK_Q_IOSB       FFFFFFD4            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            WRK_V_COMMAND  = 00000001            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            WRK_V_IMCHNG   = 00000002            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            WRK_V_INQUIRE  = 00000008            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            WRK_V_NOSTAT   = 00000009            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            WRK_V_PROMPT   = 00000003            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            WRK_V_QUAL     = 00000004            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            WRK_V_QUOTE    = 00000005            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            WRK_V_RUNDWN   = 00000000            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            WRK_V_STAR     = 00000006            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            WRK_V_TRAILSPC = 0000000A            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            WRK_V_VERB     = 00000007            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            WRK_W_FLAGS      FFFFFFFA            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            WRK_W_IMGCHAN    FFFFFFF8            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            _$$_           = 00000022            

RAB$M_KGE      = 00200000            RSLBUFSIZ      = 00000180            

RAB$M_KGT      = 00400000            SYMBOL           00000113 R     03   

RAB$M_LIM      = 00004000            SYM_B_TYPE       0000000A            

RAB$M_LOA      = 00002000            SYM_K_DECIMAL  = 00000004            

RAB$M_LOC      = 00010000            SYM_K_HEXDEC   = 00000005            

RAB$M_MAS      = 00000020            SYM_K_LOGICAL  = 00000002            

RAB$M_NLK      = 00100000            SYM_K_OCTAL    = 00000003            

COMMAND         - PROCESS NEXT COMMAND                           22-AUG-1978 01:06:46   VAX-11 MACRO X0.3-11               Page  21

PROGRAM SECTION SYNOPSIS                                                                                                         (1)







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        000004CF      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

11404. BYTES LEFT IN FREE MEMORY POOL.

24. BYTES OF RECLAIMED MEMORY.

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

31 MLB DIR RDS - 709 GETS TO DEFINE 44 MACROS. 64 INTER. FILE WRITES. 

