MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      40  DECLARATIONS

   (3)      74  VALUE CONVERSION ROUTINES

   (4)     181  GET QUALIFIER DESCRIPTOR BLOCK

   (5)     249  FIND COMMAND QUALIFIER

   (6)     319  EXTRACT RESULT DESCRIPTOR FIELDS

   (7)     390  SET RESULT DESCRIPTOR ADDRESS

   (8)     433  GET PARAMETER

   (9)     491  RESULT PARSE INIT

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	MCRRPSUB - MCR RESULT PARSE SUBROUTINES

                                     0000     2 	.IDENT	/01/

                                     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 

                                     0000    24 ;++

                                     0000    25 ; FACILITY:	STARLET MCR CLI

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:	MISC SUBROUTINES

                                     0000    28 ;

                                     0000    29 ;

                                     0000    30 ; ENVIRONMENT:	NATIVE MODE USER CODE

                                     0000    31 ;

                                     0000    32 ; AUTHOR:	W.H.BROWN, CREATION DATE:14-APR-77

                                     0000    33 ;

                                     0000    34 ; MODIFIED BY:

                                     0000    35 ;

                                     0000    36 ;	, : VERSION

                                     0000    37 ; 01	- 

                                     0000    38 ;--

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   2

01              DECLARATIONS                                                                                                     (2)



                                     0000    40 	.SBTTL	DECLARATIONS

                                     0000    41 ;

                                     0000    42 ; INCLUDE FILES:

                                     0000    43 ;

                                     0000    44 

                                     0000    45 ;	C.MLB

                                     0000    46 ;	LIB.MLB

                                     0000    47 ;

                                     0000    48 ; MACROS:

                                     0000    49 ;

                                     0000    50 

                                     0000    51 ;

                                     0000    52 ; EQUATED SYMBOLS:

                                     0000    53 ;

                                     0000    54 ;

                                     0000    55 ; MACRO LIBRARY CALLS

                                     0000    56 ;

                                     0000    57  

                                     0000    58 	DEFCMDWRK			; DEFINE WORK AREA OFFSETS

                                     0000    59 	DEFERRCOD			; DEFINE ERROR/STATUS VALUES

                                     0000    60 	DEFPTRDSC			; DEFINE RESULT PARSE DESCRIPTOR FORMAT

                                     0000    61 	DEFQUABLK			; DEFINE QUALIFIER BLOCK VALUES

                                     0000    62 	$CLIDEF				; CLI DEFINITIONS

                                     0000    63 	DEFMCRRPW			; MCR RESULT PARSE WORK DEFINITIONS

                                     0000    64  

                                     0000    65 

                                     0000    66 ;

                                     0000    67 ; OWN STORAGE:

                                     0000    68 ;

                                 00000000    69 	.PSECT	MCR$ZCODE	BYTE,RD,NOWRT

                                     0000    70  

                           58 44 4F  0000    71 CNVRDX:	.ASCII	\ODX\			; CONVERSION RADIX CONTROLS

                           08 0A 10  0003    72 RADIX:	.BYTE	16,10,8			; CORRESPONDING RADIX VALUES

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   3

01              VALUE CONVERSION ROUTINES                                                                                        (3)



                                     0006    74 	.SBTTL	VALUE CONVERSION ROUTINES

                                     0006    75 ;++

                                     0006    76 ; FUNCTIONAL DESCRIPTION:

                                     0006    77 ;

                                     0006    78 ;	THIS ROUTINE IS CALLED TO CONVERT AN ASCII STRING

                                     0006    79 ;	TO A NUMERIC VALUE.

                                     0006    80 ;

                                     0006    81 ; CALLING SEQUENCE:

                                     0006    82 ;

                                     0006    83 ;	BSB/JSB	MCR$CNVNUMDEC		; CONVERT WITH DEFAULT RADIX DECIMAL

                                     0006    84 ;	BSB/JSB	MCR$CNVASCBIN		; CONVERT WITH DEFAULT RADIX INPUT

                                     0006    85 ;

                                     0006    86 ; INPUT PARAMETERS:

                                     0006    87 ;

                                     0006    88 ; AT MCR$CNVASCBIN:

                                     0006    89 ;

                                     0006    90 ;	R1 IS DEFAULT RADIX INDICATOR, 0=HEX,1=DECIMAL,2=OCTAL

                                     0006    91 ;

                                     0006    92 ; ALWAYS:

                                     0006    93 ;

                                     0006    94 ;	R2,R3 IS QUADWORD DESCRIPTOR OF VALUE

                                     0006    95 ;

                                     0006    96 ; IMPLICIT INPUTS:

                                     0006    97 ;

                                     0006    98 ;	IF R2 = -1, CONVERSION CONTINUES UNTIL FAILURE OCCURES

                                     0006    99 ;

                                     0006   100 ; OUTPUT PARAMETERS:

                                     0006   101 ;

                                     0006   102 ;	VALUE IS CONVERTED AND RETURNED IN R1.

                                     0006   103 ;

                                     0006   104 ; IMPLICIT OUTPUTS:

                                     0006   105 ;

                                     0006   106 ;	R2 CONTAINS THE RADIX USED FOR CONVERSION.

                                     0006   107 ;	R3 CONTAINS THE ADDRESS OF THE POINT AT WHICH CONVERSION STOPPED.

                                     0006   108 ;

                                     0006   109 ; COMPLETION CODES:

                                     0006   110 ;

                                     0006   111 ;	R0 IS SET TO THE COUNT OF UN-COVERTED BYTES IN THE STRING.

                                     0006   112 ;	'Z' BIT IS SET/CLEARED BASED ON THIS COUNT.

                                     0006   113 ;

                                     0006   114 ; SIDE EFFECTS:

                                     0006   115 ;

                                     0006   116 ;	NONE

                                     0006   117 ;

                                     0006   118 ;--

                                     0006   119 	.ENABL	LSB

                                     0006   120  

                                     0006   121  

                                     0006   122 MCR$CNVNUMDEC::				; CONVERT NUMERIC DECIMAL RADIX

            51            01     D0  0006   123 	MOVL	#PRC_K_DEC,R1		; RADIX IS DECIMAL

                                     0009   124 MCR$CNVASCBIN::				; CONVERT IN SPECIFIED RADIX

                          6243   9F  0009   125 	PUSHAB	(R2)[R3]		; SAVE ADDRESS OF END OF STRING

                          00     DD  000C   126 	PUSHL	#0			; SET NO NEGATE FLAG

            50            52     D0  000E   127 	MOVL	R2,R0			; TEST FOR ZERO LENGTH STRING

                          75     13  0011   128 	BEQL	70$			; IF IT IS THE NULL STRING-RETURN ZERO

            23            63     91  0013   129 	CMPB	(R3),#^A/#/		; RADIX EXPLICITLY OCTAL

                          09     12  0016   130 	BNEQ	4$			; BR IF NO

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   4

01              VALUE CONVERSION ROUTINES                                                                                        (3)



            51            02     D0  0018   131 	MOVL	#PRC_K_OCT,R1		; SET RADIX TO OCTAL

                          52     D7  001B   132 	DECL	R2			; ADJUST COUNT TO REMOVE THE OPERATOR

                          53     D6  001D   133 	INCL	R3			; AND MOVE THE POINTER BEYOND IT

                          1D     11  001F   134 	BRB	10$			;

            2E         FF A243   91  0021   135 4$:	CMPB	-1(R2)[R3],#^A/./	; STRING END WITH A DOT

                          05     12  0026   136 	BNEQ	6$			; BR IF NO

            51            01     D0  0028   137 	MOVL	#PRC_K_DEC,R1		; SET DECIMAL RADIX INDICATOR

                          11     11  002B   138 	BRB	10$			;

            63            25     91  002D   139 6$:	CMPB	#^A/%/,(R3)		; RADIX CHANGE OPERATOR?

                          0C     12  0030   140 	BNEQ	10$			; BR IF NO

                          53     D6  0032   141 	INCL	R3			; SKIP OVER OPERATOR

            03            83     3A  0034   142 	LOCC	(R3)+,#3,CNVRDX		; FIND RADIX SPECIFIER

                       C7 AF         0037       

                          1A     13  0039   143 	BEQL	40$			; BR IF NONE RECOGNIZED

            51            70     9E  003B   144 	MOVAB	-(R0),R1		; SET RADIX INDICATOR

            52         C1 AF41   9A  003E   145 10$:	MOVZBL	RADIX[R1],R2		; GET THE BASE FOR CONVERSION

            63            2B     91  0043   146 15$:	CMPB	#^A/+/,(R3)		; CHECK FOR UNIARY OPERATOR OF PLUS

                          07     13  0046   147 	BEQL	20$			; BR IF YES

            63            2D     91  0048   148 	CMPB	#^A/-/,(R3)		; HOW ABOUT MINUS

                          06     12  004B   149 	BNEQ	30$			; BR IF NO

                          6E     D6  004D   150 	INCL	(SP)			; NEGATE THE NEGATIVE FLAG

                          53     D6  004F   151 20$:	INCL	R3			; SKIP THE UNIARY OPERATOR

                          F0     11  0051   152 	BRB	15$			; LOOK FOR ANOTHER

                          50     7C  0053   153 30$:	CLRQ	R0			; START WITH A ZERO

            63            30     83  0055   154 40$:	SUBB3	#^A/0/,(R3),R1		; GET NEXT NUMBER MINUS ASCII BIAS

                          51         0058       

                          21     19  0059   155 	BLSS	65$			; BR IF NOT A NUMERIC CHARACTER

            09            51     91  005B   156 	CMPB	R1,#9			; WAS IT A NUMERIC DIGIT?

                          08     15  005E   157 	BLEQ	60$			; BR IF YES

            11            51     91  0060   158 	CMPB	R1,#<^A/A/-^A/0/>	; HEX RADIX CHARACTER?

                          23     19  0063   159 	BLSS	70$			; BR IF NO - TERMINATE THE CONVERT

            51            07     82  0065   160 	SUBB	#<<^A/A/-^A/0/>-10>,R1	; CONVERT TO BINARY VALUE

            52            51     91  0068   161 60$:	CMPB	R1,R2			; WITH IN THE RADIX?

                          1B     18  006B   162 	BGEQ	70$			; BR IF OUT OF THE RANGE

            50            52     7A  006D   163 	EMUL	R2,R0,R1,R0		; FIND CURRENT TOTAL

            50            51         0070       

                          53     D6  0072   164 	INCL	R3			; POINT AT NEXT CHARACTER

         04 AE            53     D1  0074   165 	CMPL	R3,4(SP)		; TIME TO QUIT?

                          DB     12  0078   166 	BNEQ	40$			; BR IF NO

                          0C     11  007A   167 	BRB	70$			;

            0A            52     91  007C   168 65$:	CMPB	R2,#10			; CONVERTING IN DECIMAL

                          07     12  007F   169 	BNEQ	70$			; BR IF NO

            2E            63     91  0081   170 	CMPB	(R3),#^A/./		; TERMINATE WITH A DECIMAL POINT

                          02     12  0084   171 	BNEQ	70$			; BR IF NO

                          53     D6  0086   172 	INCL	R3			; YES - SKIP OVER THAT CHARACTER

            51            50     D0  0088   173 70$:	MOVL	R0,R1			; SET RESULT

            03            8E     E9  008B   174 	BLBC	(SP)+,80$		; TEST NEGATE FLAG

            51            51     CE  008E   175 	MNEGL	R1,R1			; NEGATE THE SOURCE

            8E            53     C3  0091   176 80$:	SUBL3	R3,(SP)+,R0		; SET NUMBER OF UN-PROCESSED BYTES

                          50         0094       

                                 05  0095   177 	RSB				; BACK TO THE CALLER

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   5

01              VALUE CONVERSION ROUTINES                                                                                        (4)



                                     0096   179  

                                     0096   180 	.DSABL	LSB

                                     0096   181 	.SBTTL	GET QUALIFIER DESCRIPTOR BLOCK

                                     0096   182 ;++

                                     0096   183 ; FUNCTIONAL DESCRIPTION:

                                     0096   184 ;

                                     0096   185 ;	THIS ROUTINE IS CALLED TO LOCATE THE COMMAND QUALIFIER

                                     0096   186 ;	DESCRIPTOR BLOCK FOR A SPECIFIC QUALIFIER.

                                     0096   187 ;	ALTERNATE ENTRY TO CHECK THAT QUALIFIER IS A PARAMETE

                                     0096   188 ;	QUALIFIER AS OPPOSED TO AN OUTPUT SPECIFIER.

                                     0096   189 ;

                                     0096   190 ; CALLING SEQUENCE:

                                     0096   191 ;

                                     0096   192 ;	BSB/JSB	MCR$GETQUALDESC		; GET QUALIFIER DESCRIPTOR

                                     0096   193 ;	BSB/JSB	MCR$GETPARMQUAL		; GET PARAMETER QUALIFIER DESCRIPTOR

                                     0096   194 ;

                                     0096   195 ; INPUT PARAMETERS:

                                     0096   196 ;

                                     0096   197 ;	R1 IS THE CODE TO IDENTIFY THE QUALIFIER

                                     0096   198 ;

                                     0096   199 ; IMPLICIT INPUTS:

                                     0096   200 ;

                                     0096   201 ;	R8 = ADDRESS OF UTILITY BIT ARRAY

                                     0096   202 ;	R9 = ADDRESS OF REQUEST DESCRIPTOR

                                     0096   203 ;	R10 = ADDRESS OF WORK BLOCK

                                     0096   204 ;	R11 = ADDRESS OF PASS 1 PARSE WORK AREA

                                     0096   205 ;

                                     0096   206 ; OUTPUT PARAMETERS:

                                     0096   207 ;

                                     0096   208 ;	R2 IS THE ADDRESS OF THE QUALIFIER DESCRIPTOR BLOCK

                                     0096   209 ;

                                     0096   210 ; IMPLICIT OUTPUTS:

                                     0096   211 ;

                                     0096   212 ;	NONE

                                     0096   213 ;

                                     0096   214 ; COMPLETION CODES:

                                     0096   215 ;

                                     0096   216 ;	R0 = SUCCESS/FAIL DEPENDING OF WHETHER THE DESCRIPTOR WAS FOUND

                                     0096   217 ;

                                     0096   218 ; SIDE EFFECTS:

                                     0096   219 ;

                                     0096   220 ;	TOP LEVEL RETURN (RET) TAKEN IF SEARCH FAILS

                                     0096   221 ;

                                     0096   222 ;--

                                     0096   223 

                                     0096   224 	.ENABL	LSB

                                     0096   225 

                                     0096   226 MCR$GETPARMQUAL::			; GET A PARAMETER QUALIFIER DESCRIPTOR

                          06     10  0096   227 	BSBB	MCR$GETQUALDESC		; LOCATE THE DESCRIPTOR BLOCK

                                 E0  0098   228 	BBS	#QUA_V_OUTPUT,-		; BR IF THIS QUALIFIER IS NOT

         04 A2            0B         0099   229 		QUA_W_FLAGS(R2),90$	; REALLY AN OUTPUT DESCPRIPTOR

                          1B         009C       

                                 05  009D   230 	RSB				; RETURN TO CALLER

                                     009E   231  

                                     009E   232 MCR$GETQUALDESC::			; FIND A QUALIFIER DESCRIPTOR

            52         E8 AB     D0  009E   233 	MOVL	WRK_L_QUABLK(R11),R2	; POINT AT START OF QUALIFIER BLOCKS

                          14     13  00A2   234 	BEQL	90$			; BR IF NONE

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   6

01              GET QUALIFIER DESCRIPTOR BLOCK                                                                                   (4)



         01 A2            51     91  00A4   235 10$:	CMPB	R1,QUA_B_CODE(R2)	; IS THIS THE ONE WERE LOOKING FOR?

                          0A     13  00A8   236 	BEQL	20$			; BR IF YES

            7E            62     9A  00AA   237 	MOVZBL	QUA_B_OFFSET(R2),-(SP)	; GET OFFSET TO NEXT

                          09     13  00AD   238 	BEQL	90$			; BR IF THIS IS LAST

            52            8E     C0  00AF   239 	ADDL	(SP)+,R2		; FIND ADDRESS OF NEXT

                          F0     11  00B2   240 	BRB	10$			;

            50            01     9A  00B4   241 20$:	MOVZBL	#1,R0			; SET SUCESSFUL STATUS

                                 05  00B7   242 	RSB				; BACK TO THE CALLER

                                     00B8   243  

                                     00B8   244 90$:	SETSTAT	INVQUALNUM		; SET ERROR-INVALID QUALIFER NUMBER

                                 04  00BD   245 	RET				; GO BACK TO DISPATCHER

                                     00BE   246  

                                     00BE   247 	.DSABL	LSB

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   7

01              FIND COMMAND QUALIFIER                                                                                           (5)



                                     00BE   249 	.SBTTL	FIND COMMAND QUALIFIER

                                     00BE   250 ;++

                                     00BE   251 ; FUNCTIONAL DESCRIPTION:

                                     00BE   252 ;

                                     00BE   253 ;	THIS COROUTINE IS CALLED TO SEARCH FOR A 

                                     00BE   254 ;	COMMAND QUALIFIER IN THE RANGE OF THE CURRENT COMMAND.

                                     00BE   255 ;	THE SEARCH IS DONE OUT TO THE FIRST PARAMETER APPEARING

                                     00BE   256 ;	IN THE COMMAND, THEN FROM THE START OF THE FIRST PARAMETER

                                     00BE   257 ;	IN THE RANGE OF THE CURRENT COMMAND TO THE END OF THE

                                     00BE   258 ;	RANGE OF THE CURRENT COMMAND.

                                     00BE   259 ;

                                     00BE   260 ; CALLING SEQUENCE:

                                     00BE   261 ;

                                     00BE   262 ;	BSB/JSB	MCR$LOCCMDQUAL

                                     00BE   263 ;

                                     00BE   264 ; INPUT PARAMETERS:

                                     00BE   265 ;

                                     00BE   266 ;	R1 IS THE CODE OF THE QUALIFIER TO LOCATE

                                     00BE   267 ;

                                     00BE   268 ; IMPLICIT INPUTS:

                                     00BE   269 ;

                                     00BE   270 ;	R8 = ADDRESS OF UTILITY BIT ARRAY

                                     00BE   271 ;	R9 = ADDRESS OF REQUEST DESCRIPTOR

                                     00BE   272 ;	R10 = ADDRESS OF WORK BLOCK

                                     00BE   273 ;	R11 = ADDRESS OF PASS 1 PARSE WORK AREA

                                     00BE   274 ;

                                     00BE   275 ; OUTPUT PARAMETERS:

                                     00BE   276 ;

                                     00BE   277 ;	R4 IS RETURNED AS THE ADDRESS OF THE DESCRIPTOR IF FOUND

                                     00BE   278 ;	R5 IS THE INDEX TO THE DESCRIPTOR IF FOUND

                                     00BE   279 ;

                                     00BE   280 ; IMPLICIT OUTPUTS:

                                     00BE   281 ;

                                     00BE   282 ;	NONE

                                     00BE   283 ;

                                     00BE   284 ; COMPLETION CODES:

                                     00BE   285 ;

                                     00BE   286 ;	R0 IS SET TRUE OR FALSE DEPENDING OF SUCCESS OF SEARCH

                                     00BE   287 ;

                                     00BE   288 ; SIDE EFFECTS:

                                     00BE   289 ;

                                     00BE   290 ;	REGISTERS R4, R5 & R6 ARE USED BY THIS ROUTINE

                                     00BE   291 ;	AND MUST BE PRESERVED ACCROSS COROUTINE RETURNS.

                                     00BE   292 ;

                                     00BE   293 ;--

                                     00BE   294 

                                     00BE   295  

                                     00BE   296 MCR$FNDCMDQUAL::			; LOCATE THE COMMAND QUALIFIER

                          54     7C  00BE   297 	CLRQ	R4			; SET INDEX OF SEARCH AND RESULT TO ZERO

            56         40 AA     DE  00C0   298 	MOVAL	RPW_AG_PRMLIM(R10),R6	; START OF PARAMETER LIMIT DESCRIPTORS

                          50     D4  00C4   299 10$:	CLRL	R0			; ASSUME NO MORE QUALIFIERS

         08 AA            55     91  00C6   300 	CMPB	R5,RPW_B_STRPARM(R10)	; THIS DESCRIPTOR IN RANGE OF VERB

                          0E     1F  00CA   301 	BLSSU	40$			; BR IF YES

                          06     12  00CC   302 	BNEQ	30$			; BR IF WITHIN A PARAMETER

            55         01 A6     9A  00CE   303 20$:	MOVZBL	PLM_B_FSTDESC(R6),R5	; SET INDEX OF PLACE TO START LOOKING

                          1C     13  00D2   304 	BEQL	70$			; BR WHEN DONE

         02 A6            55     91  00D4   305 30$:	CMPB	R5,PLM_B_LSTDESC(R6)	; IS THIS WITHIN THE CURRENT PARAMETER?

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   8

01              FIND COMMAND QUALIFIER                                                                                           (5)



                          11     1A  00D8   306 	BGTRU	60$			; BR IF OUT OF RANGE OF THIS PARAMETER

                          3E     10  00DA   307 40$:	BSBB	MCR$SETDESCADR		; SET ADDRESS OF RESULT DESCRIPTOR

                          1C     ED  00DC   308 	CMPZV	#PTR_V_TYPE,#PTR_S_TYPE,- ; VIELD LIMITS FOR TYPE

            64            04         00DE   309 		PTR_L_DESCR(R4),#PTR_K_COMDQUAL ; IF THIS A COMMAND QUALIFIER?

                          00         00E0       

                          04     12  00E1   310 	BNEQ	50$			; BR IF NO-CONTINUE SEARCH

                          50     D6  00E3   311 	INCL	R0			; SET SUCCESS

                          9E     16  00E5   312 	JSB	@(SP)+			; RETURN WITH QUALIFIER

                          55     D6  00E7   313 50$:	INCL	R5			; ADVANCE INDEX TO NEXT DESCRIPTOR

                          D9     11  00E9   314 	BRB	10$			; CHECK AGAIN

            56            04     C0  00EB   315 60$:	ADDL	#PLM_K_SIZE,R6		; SET TO NEXT PARAMETER LIMIT DESCRIPTOR

                          DE     11  00EE   316 	BRB	20$			; TRY NEXT PARAMETER

                                 05  00F0   317 70$:	RSB				; RETURN WITH VALUE OR ZERO

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page   9

01              EXTRACT RESULT DESCRIPTOR FIELDS                                                                                 (6)



                                     00F1   319 	.SBTTL	EXTRACT RESULT DESCRIPTOR FIELDS

                                     00F1   320 ;++

                                     00F1   321 ; FUNCTIONAL DESCRIPTION:

                                     00F1   322 ;

                                     00F1   323 ;	THIS ROUTINE IS CALLED TO TAKE A RESULT DESCRIPTOR APART

                                     00F1   324 ;	AND RETURN ITS COMPONTENT PART AS INDIVIDUAL VALUES.

                                     00F1   325 ;

                                     00F1   326 ; CALLING SEQUENCE:

                                     00F1   327 ;

                                     00F1   328 ;	BSB/JSB	MCR$EXTNXTDESC		; EXTRACT NEXT DESCRIPTOR

                                     00F1   329 ;	BSB/JSB	MCR$GETEXTDESC		; GET AND EXTRACT DESCRIPTOR

                                     00F1   330 ;	BSB/JSB	MCR$EXTRSLDESC		; EXTRACT RESULT DESCRIPTOR

                                     00F1   331 ;

                                     00F1   332 ; INPUT PARAMETERS:

                                     00F1   333 ;

                                     00F1   334 ;	AT EXTRSLDESC WITH R4 CONTAINS THE ADDRESS OF THE DESCRIPTOR 

                                     00F1   335 ;	AT EXTNXTDESC WITH R6 CONTAINS THE ADDRESS OF THE PARAMETER 

                                     00F1   336 ;	    LIMIT DESCRIPTOR.

                                     00F1   337 ;

                                     00F1   338 ; IMPLICIT INPUTS:

                                     00F1   339 ;

                                     00F1   340 ;	R8 = ADDRESS OF UTILITY BIT ARRAY

                                     00F1   341 ;	R9 = ADDRESS OF REQUEST DESCRIPTOR

                                     00F1   342 ;	R10 = ADDRESS OF WORK BLOCK

                                     00F1   343 ;	R11 = ADDRESS OF PASS 1 PARSE WORK AREA

                                     00F1   344 ;

                                     00F1   345 ; OUTPUT PARAMETERS:

                                     00F1   346 ;

                                     00F1   347 ;	R1 = TYPE

                                     00F1   348 ;	R2 = SIZE OR VALUE DEPENDING ON THE DESCRIPTOR

                                     00F1   349 ;	R3 = ADDRESS OF THE ITEM

                                     00F1   350 ;	R4 = ADDRESS OF DESCRIPTOR

                                     00F1   351 ;

                                     00F1   352 ; IMPLICIT OUTPUTS:

                                     00F1   353 ;

                                     00F1   354 ;	NONE

                                     00F1   355 ;

                                     00F1   356 ; COMPLETION CODES:

                                     00F1   357 ;

                                     00F1   358 ;	R0 = SUCCESS/FAILURE DEPENDING ON RESULT OF SEARCH

                                     00F1   359 ;

                                     00F1   360 ; SIDE EFFECTS:

                                     00F1   361 ;

                                     00F1   362 ;	NONE

                                     00F1   363 ;

                                     00F1   364 ;--

                                     00F1   365 

                                     00F1   366 	.ENABL	LSB

                                     00F1   367 

                                     00F1   368 MCR$EXTNXTDESC::			; EXTRACT NEXT COMPLETE DESCRIPTOR

                                     00F1   369 	SETSTAT	FAIL			; ASSUME WONT FIND ONE

            55            66     9A  00F3   370 	MOVZBL	PLM_B_NXTDESC(R6),R5	; SET POINTER TO DESCRIPTOR

                          21     13  00F6   371 	BEQL	40$			; BR IF PARAMETER SET IS MISSING

         02 A6            55     91  00F8   372 	CMPB	R5,PLM_B_LSTDESC(R6)	; IS THIS IN RANGE OF CURRENT PARAMETER?

                          1B     1A  00FC   373 	BGTRU	40$			; BR IF NO

                          66     96  00FE   374 	INCB	PLM_B_NXTDESC(R6)	; ADVANCE INDEX TO NEXT

                          50     D6  0100   375 	INCL	R0			; SET ANY SUCCESSFUL STATUS

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  10

01              EXTRACT RESULT DESCRIPTOR FIELDS                                                                                 (6)



                                     0102   376 MCR$GETEXTDESC::			; GET AND EXTRACT NEXT DESCTRIPTOR

                          16     10  0102   377 	BSBB	MCR$SETDESCADR		; SET ADDRESS OF RESULT DESCRIPTOR

                                     0104   378 MCR$EXTRSLDESC::			; EXTRACT FOR RESULT DESCRIPTION

                          08     EF  0104   379 	EXTZV	#PTR_V_OFFSET,#PTR_S_OFFSET,- ; START BIT AND SIZE OF OFFSET

            64            0C         0106   380 		PTR_L_DESCR(R4),R3	; GET OFFSET INTO R3

                          53         0108       

            53       FD44 CB43   9E  0109   381 	MOVAB	WRK_AB_BUFFER(R11)[R3],R3 ; FIND ADDRESS OF ITEM IN BUFFER

                          00     EF  010F   382 	EXTZV	#PTR_V_VALUE,#PTR_S_VALUE,- ; START BIT AND SIZE OF VALUE

            64            08         0111   383 		PTR_L_DESCR(R4),R2	; GET VALUE INTO R2

                          52         0113       

                          1C     EF  0114   384 	EXTZV	#PTR_V_TYPE,#PTR_S_TYPE,- ; START BIT AND SIZE OF TYPE

            64            04         0116   385 		PTR_L_DESCR(R4),R1	; GET TYPE INTO R1

                          51         0118       

                                 05  0119   386 40$:	RSB				; 

                                     011A   387  

                                     011A   388 	.DSABL	LSB

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  11

01              SET RESULT DESCRIPTOR ADDRESS                                                                                    (7)



                                     011A   390 	.SBTTL	SET RESULT DESCRIPTOR ADDRESS

                                     011A   391 ;++

                                     011A   392 ; FUNCTIONAL DESCRIPTION:

                                     011A   393 ;

                                     011A   394 ;	THIS ROUTINE IS CALLED TO SET THE ADDRESS OF A RESULT

                                     011A   395 ;	DESCRIPTOR INTO R4.

                                     011A   396 ;

                                     011A   397 ; CALLING SEQUENCE:

                                     011A   398 ;

                                     011A   399 ;	BSB/JSB	MCR$SETDESCADR

                                     011A   400 ;

                                     011A   401 ; INPUT PARAMETERS:

                                     011A   402 ;

                                     011A   403 ;	R5 CONTAINS THE INDEX FOR THE DESIRED DESCRIPTOR

                                     011A   404 ;

                                     011A   405 ; IMPLICIT INPUTS:

                                     011A   406 ;

                                     011A   407 ;	R10 = ADDRESS OF WORK BLOCK

                                     011A   408 ;	R11 = ADDRESS OF PASS 1 PARSE WORK AREA

                                     011A   409 ;

                                     011A   410 ; OUTPUT PARAMETERS:

                                     011A   411 ;

                                     011A   412 ;	R4 IS LOADED WITH THE ADDRESS OF THE DESCRIPTOR

                                     011A   413 ;

                                     011A   414 ; IMPLICIT OUTPUTS:

                                     011A   415 ;

                                     011A   416 ;	NONE

                                     011A   417 ;

                                     011A   418 ; COMPLETION CODES:

                                     011A   419 ;

                                     011A   420 ;	NONE

                                     011A   421 ;

                                     011A   422 ; SIDE EFFECTS:

                                     011A   423 ;

                                     011A   424 ;	NONE

                                     011A   425 ;

                                     011A   426 ;--

                                     011A   427 

                                     011A   428 

                                     011A   429 MCR$SETDESCADR::			; SET ADDRESS OF RESULT DESCRITPTOR

            54       FBBC CB45   DE  011A   430 	MOVAL	WRK_AG_RESULT-4(R11)[R5],R4 ; GET ADDRESS OF DESCRIPTOR

                                 05  0120   431 	RSB

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  12

01              GET PARAMETER                                                                                                    (8)



                                     0121   433 	.SBTTL	GET PARAMETER

                                     0121   434 ;++

                                     0121   435 ; FUNCTIONAL DESCRIPTION:

                                     0121   436 ;

                                     0121   437 ;	THIS ROUTINE IS CALLED TO SEARCH THE RESULT DESCRIPTOR

                                     0121   438 ;	BUFFER FOR THE NEXT OCCURANCE OF A PRARMETER

                                     0121   439 ;

                                     0121   440 ; CALLING SEQUENCE:

                                     0121   441 ;

                                     0121   442 ;	BSB/JSB	MCR$GETPARM		; GET A PARAMETER

                                     0121   443 ;

                                     0121   444 ; INPUT PARAMETERS:

                                     0121   445 ;

                                     0121   446 ;	R5 CONTAINS THE INDEX OF NEXT DESCRIPTOR TO CHECK

                                     0121   447 ;

                                     0121   448 ; IMPLICIT INPUTS:

                                     0121   449 ;

                                     0121   450 ;	R8 = ADDRESS OF UTILITY BIT ARRAY

                                     0121   451 ;	R9 = ADDRESS OF REQUEST DESCRIPTOR

                                     0121   452 ;	R10 = ADDRESS OF WORK BLOCK

                                     0121   453 ;	R11 = ADDRESS OF PASS 1 PARSE WORK AREA

                                     0121   454 ;

                                     0121   455 ; OUTPUT PARAMETERS:

                                     0121   456 ;

                                     0121   457 ;	R1 CONTAINS THE TYPE OF THE DESCRIPTOR(IE:PTR_K_PARAMETR)

                                     0121   458 ;	R2 CONTAINS THE SIZE OF THE PARAMETER

                                     0121   459 ;	R3 CONTAINS THE PRECEEDING TERMINATOR

                                     0121   460 ;	R4 CONTAINS THE ADDRESS OF THE PARAMETER DESCRIPTOR

                                     0121   461 ;	R5 IS THE INDEX TO THE DESCRIPTOR

                                     0121   462 ;

                                     0121   463 ; IMPLICIT OUTPUTS:

                                     0121   464 ;

                                     0121   465 ;	NONE

                                     0121   466 ;

                                     0121   467 ; COMPLETION CODES:

                                     0121   468 ;

                                     0121   469 ;	R0 = SUCCESS/FAIL DEPENDING ON THE RESULT OF THE SEARCH

                                     0121   470 ;

                                     0121   471 ; SIDE EFFECTS:

                                     0121   472 ;

                                     0121   473 ;	NONE

                                     0121   474 ;

                                     0121   475 ;--

                                     0121   476 

                                     0121   477 

                                     0121   478 MCR$GETPARM::				; GET THE NEXT PARAMETER

                                     0121   479 	SETSTAT	FAIL			; ASSUME NO MORE PARAMETERS

                          55     D6  0123   480 10$:	INCL	R5			; ADVANCE INDEX

                          DB     10  0125   481 	BSBB	MCR$GETEXTDESC		; GET DESCRIPTOR AND EXTRACT FIELDS

                          18     EF  0127   482 	EXTZV	#PTR_V_TERM,#PTR_S_TERM,- ; GET THE TERMINATOR FORM THE PRVIOUS

         FC A4            04         0129   483 		-4(R4),R3		; DESCRIPTOR AND SAVE IN R3

                          53         012C       

            04            51     91  012D   484 	CMPB	R1,#PTR_K_ENDLINE	; IS THIS THE END OF LINE?

                          08     13  0130   485 	BEQL	30$			; NO MORE PARAMETERS

            03            51     91  0132   486 	CMPB	R1,#PTR_K_PARAMETR	; IS THE CURRENT A PARAMETER?

                          EC     12  0135   487 	BNEQ	10$			; BR IF NO-TRY NEXT

                                     0137   488 	SETSTAT	SUCCESS			; SET FOUND ONE

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  13

01              GET PARAMETER                                                                                                    (8)



                                 05  013A   489 30$:	RSB				; RETURN TO CALLER

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  14

01              RESULT PARSE INIT                                                                                                (9)



                                     013B   491 	.SBTTL	RESULT PARSE INIT

                                     013B   492 ;++

                                     013B   493 ; FUNCTIONAL DESCRIPTION:

                                     013B   494 ;

                                     013B   495 ;	THIS ROUTINE IS CALLED TO ESTABLISH INITIAL CONDITIONS

                                     013B   496 ;	IN THE RESULT PARSE WORK AREA PRIOR TO PERFORMAING

                                     013B   497 ;	A RESULT PARSE.

                                     013B   498 ;

                                     013B   499 ; CALLING SEQUENCE:

                                     013B   500 ;

                                     013B   501 ;	ENTERED VIA A CASE FOLLOWED BY A CALL

                                     013B   502 ;

                                     013B   503 ; INPUT PARAMETERS:

                                     013B   504 ;

                                     013B   505 ;	NONE

                                     013B   506 ;

                                     013B   507 ; IMPLICIT INPUTS:

                                     013B   508 ;

                                     013B   509 ;	R9 = ADDRESS OF REQUEST DESCRIPTOR

                                     013B   510 ;	R10 = ADDRESS OF WORK BLOCK

                                     013B   511 ;	R11 = ADDRESS OF PASS 1 PARSE WORK AREA

                                     013B   512 ;

                                     013B   513 ; OUTPUT PARAMETERS:

                                     013B   514 ;

                                     013B   515 ;	THE RESULT PARSE WORK AREA IS INITED

                                     013B   516 ;

                                     013B   517 ; IMPLICIT OUTPUTS:

                                     013B   518 ;

                                     013B   519 ;	NONE

                                     013B   520 ;

                                     013B   521 ; COMPLETION CODES:

                                     013B   522 ;

                                     013B   523 ;	R0 = SUCCESS

                                     013B   524 ;

                                     013B   525 ; SIDE EFFECTS:

                                     013B   526 ;

                                     013B   527 ;	NONE

                                     013B   528 ;

                                     013B   529 ;--

                                     013B   530 

                                     013B   531 

                                     013B   532 MCR$RPINIT::				; RESULT APRSE INIT

                          47     10  013B   533 	BSBB	MCR$GETMCRWRK		; GET POINTER TO MCR PHASE 1 WORK AREA

            6A            00     2C  013D   534 	MOVC5	#0,(R10),#0,-		; SOURCE BUFFER SIZE AND FILL OF 0 TO

                                     0140       

       007C 8F            00         0140   535 		#CLI$C_WORKAREA-4,4(R10) ; ZERO OUT THE WORK AREA

                       04 AA         0144       

         04 AA            5B     D0  0146   536 	MOVL	R11,RPW_L_MCRWRK(R10)	; SAVE WORK AREA ADDRESS FOR LATER

            56         40 AA     DE  014A   537 	MOVAL	RPW_AG_PRMLIM(R10),R6	; GET ADDRESS OF FIRST PARAM LIMIT TABLE

                          55     D4  014E   538 	CLRL	R5			; INIT INDEX TO MINUS FIRST DESCRIPTOR

                          CF     10  0150   539 	BSBB	MCR$GETPARM		; RETREIVE THE NEXT(FIRST)PARAMETER

         08 AA            55     90  0152   540 	MOVB	R5,RPW_B_STRPARM(R10)	; SAVE THE INDEX TO THE FIRST PARAMETER

            23            50     E9  0156   541 	BLBC	R0,90$			; BR IF NO PARAMETERS IN COMMAND

         01 A6            55     90  0159   542 10$:	MOVB	R5,PLM_B_FSTDESC(R6)	; SET FIRST PARAMETER IN THIS LIST

            66            55     90  015D   543 	MOVB	R5,PLM_B_NXTDESC(R6)	; ALSO THE NEXT TO PROCESS

                          BF     10  0160   544 20$:	BSBB	MCR$GETPARM		; LOCATE THE NEXT PARAMETER IN THE COMD

            55            01     83  0162   545 	SUBB3	#1,R5,PLM_B_LSTDESC(R6)	; SET INDEX OF THE LAST PARAMETER SEEN

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  15

01              RESULT PARSE INIT                                                                                                (9)



                       02 A6         0165       

            12            50     E9  0167   546 	BLBC	R0,90$			; BR IF NO MORE

            01            53     91  016A   547 	CMPB	R3,#PTR_K_BLANK		; IS THIS THE START OF A PARMETER LIST?

                          05     13  016D   548 	BEQL	50$			; BR IF YES

            02            53     91  016F   549 	CMPB	R3,#PTR_K_COLON		; PREVIOUS TERMINATOR EQUAL SIGN

                          EC     12  0172   550 	BNEQ	20$			; BR IF NO-KEEP LOOKING FOR TERMINATOR

         03 A6            55     90  0174   551 50$:	MOVB	R5,PLM_B_TRMDESC(R6)	; SAVE INDEX OF PARAMETER TERMINATOR

                          86     D5  0178   552 	TSTL	(R6)+			; POINT AT NEXT PARAMETER LIMIT DESCRIPTOR

                          DD     11  017A   553 	BRB	10$			; SCAN NEXT PARAMETER

                                     017C   554 90$:	SETSTAT	SUCCESS			; SET ALL IS GOOD

         03 A6            55     90  017F   555 	MOVB	R5,PLM_B_TRMDESC(R6)	; SAVE FINAL TERMINATOR

                                 04  0183   556 	RET				; RETURN TO DISPATCHER

                                     0184   557 ;

                                     0184   558 ; SET WORK ADDRESS

                                     0184   559 ;

                                     0184   560 MCR$GETMCRWRK::				; 

            5B   00000000'9F     9E  0184   561 	MOVAB	@#CTL$AG_CLIDATA,R11	; CLI IMPURE AREA

            5B         04 AB     D0  018B   562 	MOVL	PRC_L_SAVFP(R11),R11	; ACTUAL WORK AREA IS HERE

                                 05  018F   563 	RSB				; RETURN TO CALLER

                                     0190   564 	.END

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  16

SYMBOL TABLE                                                                                                                     (9)



BIT...         = 00000045            CLI$L_CLIFLAG    00000018            CLI$V_SUBTYP   = 00000000            

CLI$A_ABSACT     00000014            CLI$L_INIARGCNT  00000000            CLI$V_TRMVRBLV = 00000008            

CLI$A_ERRACT     00000004            CLI$L_LINKFLAG   00000014            CLI$V_VERIFY   = 00000002            

CLI$A_FLSACT     00000010            CLI$L_RQVALU     0000000C            CLI$V_VFYINP   = 00000005            

CLI$A_IMGFILED   00000010            CLI$L_USRVAL     00000014            CLI$W_QDVALSIZ   00000004            

CLI$A_IMGHDADR   0000000C            CLI$L_WORKAREA   00000000            CLI$W_RQSIZE     00000008            

CLI$A_PROGXFER   00000004            CLI$M_ABSADR   = 00000002            CLI$W_SERVCOD    00000001            

CLI$A_PRSACT     00000010            CLI$M_ALLOCCUR = 00000001            CLI$_ABFNAM    = 000381B8            

CLI$A_QDVALADR   00000008            CLI$M_BATCH    = 00000008            CLI$_ABKEYW    = 00038000            

CLI$A_QUALST     00000018            CLI$M_CONCATINP= 00000002            CLI$_ABVERB    = 00038008            

CLI$A_RQADDR     0000000C            CLI$M_DBGEXCP  = 00010000            CLI$_BADRET    = 00038198            

CLI$A_TRUACT     0000000C            CLI$M_DBGTRU   = 00000002            CLI$_BADTEXT   = 000381B0            

CLI$A_UTILSERV   00000008            CLI$M_DEBUG    = 00000001            CLI$_BUFOVF    = 00038018            

CLI$B_BITNUM     00000001            CLI$M_DUMMY    = 00000002            CLI$_COMPLX    = 00038020            

CLI$B_QDBLKSIZ   00000000            CLI$M_EXPNAM   = 00000004            CLI$_CONFQUAL  = 00038802            

CLI$B_QDCODE     00000001            CLI$M_INDIRECT = 00000010            CLI$_CREQUEJOB = 0003884A            

CLI$B_QDFLGS     00000002            CLI$M_KEYVALU  = 00000002            CLI$_DEFOVF    = 00038028            

CLI$B_QDSTAT     00000003            CLI$M_LASTVAL  = 00000001            CLI$_DEVALSPL  = 0003885A            

CLI$B_RQFLGS     00000002            CLI$M_MOREINP  = 00000004            CLI$_DEVNOTFOR = 0003887A            

CLI$B_RQINDX     00000001            CLI$M_MOREVALS = 00000001            CLI$_DEVNOTSPL = 00038862            

CLI$B_RQSTAT     00000003            CLI$M_PARMDEF  = 00000008            CLI$_DIRECT    = 00038030            

CLI$B_RQTYPE     00000000            CLI$M_PARMPRS  = 00000001            CLI$_EXPSYN    = 00038038            

CLI$C_QDBITS     00000014            CLI$M_PARMREQ  = 00000001            CLI$_FILOPN    = 00038190            

CLI$C_QUALDEF    00000014            CLI$M_QDEXPA   = 00000004            CLI$_ILLVAL    = 0003883A            

CLI$C_REQDESC    0000001C            CLI$M_QDUSRV   = 00000002            CLI$_IMCHNG    = 00038040            

CLI$C_WORKAREA   00000080            CLI$M_QUALEXP  = 00000002            CLI$_IMGFNF    = 00038872            

CLI$K_ASCIIVAL = 00000041            CLI$M_QUALTRU  = 00000001            CLI$_INSFPRM   = 00038048            

CLI$K_CLISERV  = 00000005            CLI$M_TRMVRBLV = 00000300            CLI$_INVKEY    = 00038178            

CLI$K_ENDPRM1  = 00000030            CLI$M_VERIFY   = 00000004            CLI$_INVQUAL   = 0003880A            

CLI$K_ENDPRM2  = 00000031            CLI$M_VFYINP   = 00000020            CLI$_INVQUALNUM= 0003881A            

CLI$K_ENDPRM3  = 00000032            CLI$Q_QDVALDESC  00000004            CLI$_INVREQTYP = 00038822            

CLI$K_ENDPRM4  = 00000033            CLI$Q_RQDESC     00000008            CLI$_INVRSP    = 00038180            

CLI$K_FILSPEC  = 00000044            CLI$S_PRITYP   = 00000004            CLI$_INVUIC    = 000381A8            

CLI$K_GETCMD   = 00000001            CLI$S_SUBTYP   = 00000004            CLI$_IVCHAR    = 00038050            

CLI$K_GETOPT   = 00000003            CLI$S_TRMVRBLV = 00000002            CLI$_IVDEVTYPE = 0003886A            

CLI$K_GETQUAL  = 00000002            CLI$V_ABSADR   = 00000001            CLI$_IVFNAM    = 000381C0            

CLI$K_INITPRS  = 00000000            CLI$V_ALLOCCUR = 00000000            CLI$_IVKEYW    = 00038060            

CLI$K_INPSPEC  = 00000001            CLI$V_BATCH    = 00000003            CLI$_IVOPER    = 00038068            

CLI$K_INPUT1   = 00000010            CLI$V_CONCATINP= 00000001            CLI$_IVPROT    = 00038070            

CLI$K_INPUT2   = 00000011            CLI$V_DBGEXCP  = 00000010            CLI$_IVQLOC    = 00038078            

CLI$K_INPUT3   = 00000012            CLI$V_DBGTRU   = 00000001            CLI$_IVSYMB    = 00038080            

CLI$K_INPUT4   = 00000013            CLI$V_DEBUG    = 00000000            CLI$_IVVALU    = 00038088            

CLI$K_KEYVAL   = 00000043            CLI$V_DUMMY    = 00000001            CLI$_IVVERB    = 00038090            

CLI$K_KEYWORD  = 00000042            CLI$V_EXPNAM   = 00000002            CLI$_MAXPARM   = 00038098            

CLI$K_NUMERVAL = 00000040            CLI$V_INDIRECT = 00000004            CLI$_MULKEY    = 000381A0            

CLI$K_OUTPUT1  = 00000020            CLI$V_KEYVALU  = 00000001            CLI$_NOATFIL   = 000380A0            

CLI$K_OUTPUT2  = 00000021            CLI$V_LASTVAL  = 00000000            CLI$_NOCCAT    = 000380A8            

CLI$K_OUTPUT3  = 00000022            CLI$V_MOREINP  = 00000002            CLI$_NOCOMD    = 000380B0            

CLI$K_OUTPUT4  = 00000023            CLI$V_MOREVALS = 00000000            CLI$_NOKEYW    = 000380B8            

CLI$K_OUTSPEC  = 00000002            CLI$V_PARMDEF  = 00000003            CLI$_NOLIST    = 000380C0            

CLI$K_PARDONE  = 00000003            CLI$V_PARMPRS  = 00000000            CLI$_NOOPTPRS  = 00038842            

CLI$K_QDBITS     00000014            CLI$V_PARMREQ  = 00000000            CLI$_NOQUAL    = 000380C8            

CLI$K_QUALDEF    00000014            CLI$V_PRITYP   = 00000004            CLI$_NORMAL    = 00030001            

CLI$K_REQDESC    0000001C            CLI$V_QDEXPA   = 00000002            CLI$_NOTNEG    = 000380D8            

CLI$K_UTILOPR  = 00000000            CLI$V_QDUSRV   = 00000001            CLI$_NOVALU    = 000380D0            

CLI$K_VALCONV  = 00000004            CLI$V_QUALEXP  = 00000001            CLI$_NOVALUE   = 0003882A            

CLI$K_WORKAREA   00000080            CLI$V_QUALTRU  = 00000000            CLI$_NULFIL    = 000380E0            

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  17

SYMBOL TABLE                                                                                                                     (9)



CLI$_NUMBER    = 000380E8            MCR_V_DOLLARS  = 00000008            PRC_M_GOTO     = 00000010            

CLI$_ONCOMD    = 000380F0            MCR_V_ESCAPE   = 00000002            PRC_M_HANGUP   = 00001000            

CLI$_ONERR     = 000380F8            MCR_V_ESCTRM   = 00000009            PRC_M_IND      = 00000020            

CLI$_ONEVAL    = 00038158            MCR_V_FORCMD   = 0000000E            PRC_M_MODE     = 00000040            

CLI$_ONLEVL    = 00038100            MCR_V_GLOBAL   = 0000000A            PRC_M_NOCTLY   = 00004000            

CLI$_ONOVF     = 00038108            MCR_V_LOWER    = 0000000B            PRC_M_PAUSE    = 00002000            

CLI$_OVRFLW    = 00038160            MCR_V_OPNINP   = 00000006            PRC_M_USRDET   = 00000100            

CLI$_PARMDEL   = 00038110            MCR_V_RAD50    = 00000000            PRC_M_VERIFY   = 00000080            

CLI$_PROC_ID   = 0003FFF1            MCR_V_STRSUB   = 0000000C            PRC_M_YLEVEL   = 00000800            

CLI$_QUEJOBCRE = 0003FFF9            MSGBUFSIZ      = 00000084            PRC_Q_ALLOCREG   00000020            

CLI$_REQPRMABS = 00038812            PLM_B_FSTDESC    00000001            PRC_Q_GLOBAL     00000028            

CLI$_RSLOVF    = 00038118            PLM_B_LSTDESC    00000002            PRC_Q_LABEL      00000030            

CLI$_SKPDAT    = 00038120            PLM_B_NXTDESC    00000000            PRC_Q_LOCAL      00000038            

CLI$_SPARE0    = 00038010            PLM_B_TRMDESC    00000003            PRC_V_CNTRLY   = 00000001            

CLI$_SPARE1    = 00038058            PLM_K_SIZE       00000004            PRC_V_DBGQUAL  = 00000009            

CLI$_STKOVF    = 00038128            PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            

CLI$_SUBMITERR = 00038852            PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            

CLI$_SYMDEL    = 00038130            PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            

CLI$_SYMOVF    = 00038138            PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            

CLI$_UNDFIL    = 00038188            PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            

CLI$_UNDSYM    = 00038140            PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            

CLI$_UNPROPARM = 00038170            PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            

CLI$_UNPROQUAL = 00038168            PRC_L_CLIWRK0    0000005C            PRC_V_MODE     = 00000006            

CLI$_USGOTO    = 00038148            PRC_L_CLIWRK1    00000060            PRC_V_NOCTLY   = 0000000E            

CLI$_VALCNVERR = 00038832            PRC_L_CLIWRK2    00000064            PRC_V_PAUSE    = 0000000D            

CLI$_VALREQ    = 00038150            PRC_L_CLIWRK3    00000068            PRC_V_USRDET   = 00000008            

CMDBUFSIZ      = 000001FC            PRC_L_CLIWRK4    0000006C            PRC_V_VERIFY   = 00000007            

CNVRDX           00000000 R     03   PRC_L_ERRRAB     00000010            PRC_V_YLEVEL   = 0000000B            

CTL$AG_CLIDATA   ********   X   03   PRC_L_EXMDEPADR  0000008C            PRC_W_CLIFLAG    00000052            

GBL...         = 00000000            PRC_L_EXTARG     00000078            PRC_W_ERRIFI     00000052            

INPBUFSIZ      = 00000084            PRC_L_EXTBLK     00000070            PRC_W_FLAGS      00000054            

MCR$CNVASCBIN    00000009 RG    03   PRC_L_EXTCOD     00000080            PRC_W_INPCHAN    00000050            

MCR$CNVNUMDEC    00000006 RG    03   PRC_L_EXTHND     00000074            PRC_W_ONLEVEL    00000056            

MCR$EXTNXTDESC   000000F1 RG    03   PRC_L_EXTPRM     0000007C            PTR_K_BLANK    = 00000001            

MCR$EXTRSLDESC   00000104 RG    03   PRC_L_INDEPTH    00000048            PTR_K_COLON    = 00000002            

MCR$FNDCMDQUAL   000000BE RG    03   PRC_L_INDFAB     0000001C            PTR_K_COMDQUAL = 00000000            

MCR$GETEXTDESC   00000102 RG    03   PRC_L_INDINPRAB  00000014            PTR_K_COMMA    = 00000005            

MCR$GETMCRWRK    00000184 RG    03   PRC_L_INDOUTRAB  00000018            PTR_K_ENDLINE  = 00000004            

MCR$GETPARM      00000121 RG    03   PRC_L_INPRAB     00000008            PTR_K_LPAREN   = 00000007            

MCR$GETPARMQUAL  00000096 RG    03   PRC_L_LSTSTATUS  00000094            PTR_K_PARAMETR = 00000003            

MCR$GETQUALDESC  0000009E RG    03   PRC_L_ONCTLY     0000009C            PTR_K_PARMQUAL = 00000001            

MCR$RPINIT       0000013B RG    03   PRC_L_ONERROR    00000058            PTR_K_PLUS     = 00000004            

MCR$SETDESCADR   0000011A RG    03   PRC_L_OUTRAB     0000000C            PTR_K_QUALVALU = 00000002            

MCR_M_ALPHAN   = 00000002            PRC_L_PROCUIC    00000098            PTR_K_RPAREN   = 00000006            

MCR_M_DEFALT   = 00000008            PRC_L_SAVAP      00000000            PTR_K_SLASH    = 00000003            

MCR_M_DELINP   = 00000080            PRC_L_SAVFP      00000004            PTR_L_DESCR      00000000            

MCR_M_DOLLARS  = 00000100            PRC_L_SEVERITY   00000040            PTR_S_FLAGS    = 00000004            

MCR_M_ESCAPE   = 00000004            PRC_L_STACKLM    00000088            PTR_S_OFFSET   = 0000000C            

MCR_M_ESCTRM   = 00000200            PRC_L_STACKPT    00000084            PTR_S_TERM     = 00000004            

MCR_M_GLOBAL   = 00000400            PRC_L_STATUS     00000044            PTR_S_TYPE     = 00000004            

MCR_M_LOWER    = 00000800            PRC_L_SYMBOL     0000004C            PTR_S_VALUE    = 00000008            

MCR_M_OPNINP   = 00000040            PRC_M_CNTRLY   = 00000002            PTR_V_EQUAL    = 00000000            

MCR_M_RAD50    = 00000001            PRC_M_DBGQUAL  = 00000200            PTR_V_FLAGS    = 00000014            

MCR_M_STRSUB   = 00001000            PRC_M_DBGTRUE  = 00000400            PTR_V_NEGATE   = 00000000            

MCR_V_ALPHAN   = 00000001            PRC_M_DISABL   = 00000004            PTR_V_OFFSET   = 00000008            

MCR_V_DEFALT   = 00000003            PRC_M_EXIT     = 00000008            PTR_V_TERM     = 00000018            

MCR_V_DELINP   = 00000007            PRC_M_GOEOF    = 00000001            PTR_V_TYPE     = 0000001C            

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (9)



PTR_V_VALUE    = 00000000            WRK_B_PARMCNT    FFFFFFCB            

QUA_B_CODE       00000001            WRK_B_VERBTYP    FFFFFFC8            

QUA_B_DEFVAL     00000003            WRK_K_LENGTH     FFFFFBC0            

QUA_B_IMAGE      00000006            WRK_L_CHARPTR    FFFFFFFC            

QUA_B_INDEX      00000002            WRK_L_IMAGE      FFFFFFEC            

QUA_B_OFFSET     00000000            WRK_L_MAXPARM    FFFFFFCC            

QUA_B_PARMCNT    00000009            WRK_L_MINPARM    FFFFFFD0            

QUA_G_CHNGLST    00000007            WRK_L_PAROUT     FFFFFFF0            

QUA_M_BATDEF   = 00000100            WRK_L_PROMPT     FFFFFFF4            

QUA_M_CHNGLIST = 00000001            WRK_L_QUABLK     FFFFFFE8            

QUA_M_DEFTRUE  = 00000080            WRK_L_RSLNXT     FFFFFD40            

QUA_M_FILE     = 00000004            WRK_L_SAVAP      FFFFFFD8            

QUA_M_IMAGE    = 00000400            WRK_L_SAVFP      FFFFFFDC            

QUA_M_INTDEF   = 00000200            WRK_L_SAVSP      FFFFFFD4            

QUA_M_KEYVAL   = 00004000            WRK_M_ALL      = 00000001            

QUA_M_LOCALKEY = 00000002            WRK_M_ASK      = 00000100            

QUA_M_NEG      = 00000040            WRK_M_COMMAND  = 00000002            

QUA_M_ONEVAL   = 00002000            WRK_M_CONTINU  = 00000400            

QUA_M_OUTPUT   = 00000800            WRK_M_EQUAL    = 00000008            

QUA_M_PARM     = 00000010            WRK_M_IMCHNG   = 00000004            

QUA_M_VAL      = 00000020            WRK_M_QUAL     = 00000010            

QUA_M_VALREQ   = 00001000            WRK_M_QUOTE    = 00000020            

QUA_M_VERB     = 00000008            WRK_M_STAR     = 00000040            

QUA_S_MAXPARM  = 00000004            WRK_M_TRAILSPC = 00000200            

QUA_S_MINPARM  = 00000004            WRK_M_VERB     = 00000080            

QUA_V_BATDEF   = 00000008            WRK_Q_IOSB       FFFFFFE0            

QUA_V_CHNGLIST = 00000000            WRK_V_ALL      = 00000000            

QUA_V_DEFTRUE  = 00000007            WRK_V_ASK      = 00000008            

QUA_V_FILE     = 00000002            WRK_V_COMMAND  = 00000001            

QUA_V_IMAGE    = 0000000A            WRK_V_CONTINU  = 0000000A            

QUA_V_INTDEF   = 00000009            WRK_V_EQUAL    = 00000003            

QUA_V_KEYVAL   = 0000000E            WRK_V_IMCHNG   = 00000002            

QUA_V_LOCALKEY = 00000001            WRK_V_QUAL     = 00000004            

QUA_V_MAXPARM  = 00000004            WRK_V_QUOTE    = 00000005            

QUA_V_MINPARM  = 00000000            WRK_V_STAR     = 00000006            

QUA_V_NEG      = 00000006            WRK_V_TRAILSPC = 00000009            

QUA_V_ONEVAL   = 0000000D            WRK_V_VERB     = 00000007            

QUA_V_OUTPUT   = 0000000B            WRK_W_FLAGS      FFFFFFFA            

QUA_V_PARM     = 00000004            WRK_W_LOCFLG     FFFFFFF8            

QUA_V_VAL      = 00000005            

QUA_V_VALREQ   = 0000000C            

QUA_V_VERB     = 00000003            

QUA_W_FLAGS      00000004            

QUA_W_QUALIST    00000007            

RADIX            00000003 R     03   

RPW_AG_BITS      00000020            

RPW_AG_PRMLIM    00000040            

RPW_B_LSTDESC    00000009            

RPW_B_STRPARM    00000008            

RPW_K_HDRSIZ     00000040            

RPW_L_MCRWRK     00000004            

RPW_L_USERCTX    00000000            

RSLBUFSIZ      = 00000180            

WRK_AB_BUFFER    FFFFFD44            

WRK_AG_RESULT    FFFFFBC0            

WRK_B_CMDFLG     FFFFFFC9            

WRK_B_CURADX     FFFFFFCA            

MCRRPSUB        - MCR RESULT PARSE SUBROUTINES                   22-AUG-1978 01:50:28   VAX-11 MACRO X0.3-11               Page  19

PROGRAM SECTION SYNOPSIS                                                                                                         (9)







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  

MCR$ZCODE        00000190      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

11888. BYTES LEFT IN FREE MEMORY POOL.

2200. BYTES OF RECLAIMED MEMORY.

OBJ$:MCRRPSUB,LIS$:MCRRPSUB/-SP=EXECML$/ML,LIB$:MCR/ML,SRC$:MCRRPSUB

25 MLB DIR RDS - 619 GETS TO DEFINE 19 MACROS. 53 INTER. FILE WRITES. 

