LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)     120  LEXICAL FUNCTION DISPATCHER

   (1)     263  CONVERT SIGNED AND UNSIGNED INTEGER FIELD

   (1)     329  RETURN DEFAULT DIRECTORY NAME STRING

   (1)     353  EXTRACT SUBSTRING FROM STRING

   (1)     393  RETURN LENGTH OF STRING

   (1)     417  LOCATE SUBSTRING IN STRING

   (1)     449  LOGICAL NAME TRANSLATION

   (1)     490  GET MESSAGE TEXT

   (1)     530  RETURN JOB MODE

   (1)     556  RETURN PROCESS NAME

   (1)     592  RETURN CURRENT TIME AND DATE

   (1)     622  RETURN USER IDENTIFICATION CODE

   (1)     673  RETURN VERIFY MODE

   (1)     699  LOCAL SUBROUTINES

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	LEXICON - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT ROUTINES

                                     0000     2 	.IDENT	/01/

                                     0000     3  

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1978

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

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

                                     0000     9 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000    10 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

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

                                     0000    12 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000    13 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

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

                                     0000    15 ;

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

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

                                     0000    18 ; EQUIPMENT 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 3-FEB-78

                                     0000    24 ;

                                     0000    25 ; LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT ROUTINES

                                     0000    26 ;

                                     0000    27 ;	CONVERT SIGNED INTEGER FIELD

                                     0000    28 ;	CONVERT UNSIGNED INTEGER FIELD

                                     0000    29 ;	DEFAULT DIRECTORY

                                     0000    30 ;	EXTRACT SUBSTRING

                                     0000    31 ;	GET MESSAGE TEXT

                                     0000    32 ;	LOCATE SUBSTRING

                                     0000    33 ;	LOGICAL NAME TRANSLATION

                                     0000    34 ;	JOB MODE

                                     0000    35 ;	PROCESS NAME

                                     0000    36 ;	STRING LENGTH

                                     0000    37 ;	TIME

                                     0000    38 ;	USER IDENTIFICATION CODE

                                     0000    39 ;	VERIFY MODE

                                     0000    40 ;

                                     0000    41 ; MACRO LIBRARY CALLS

                                     0000    42 ;

                                     0000    43  

                                     0000    44 	DEFCMDWRK			;DEFINE WORK AREA OFFSETS

                                     0000    45 	DEFERRCOD			;DEFINE ERROR/STATUS VALUES

                                     0000    46 	$JPIDEF				;DEFINE JOB/PROCESS INFORMATION ID'S

                                     0000    47  

                                     0000    48 ;

                                     0000    49 ; LOCAL MACROS

                                     0000    50 ;

                                     0000    51 ; GENERATE LEXICAL FUNCTION DEFINITION TABLE

                                     0000    52 ;

                                     0000    53  

                                     0000    54 	.MACRO	GENLXF NAME,NUM

                                     0000    55 	.NCHR	$ZZ$,NAME

                                     0000    56 $XX$=128

                                     0000    57 	.IRPC	$YY$,<NAME>

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   2

01                                                                                                                               (1)



                                     0000    58 	.BYTE	^A/$YY$/!$XX$

                                     0000    59 $XX$=0

                                     0000    60 	.ENDM

                                     0000    61 	.REPT	4-$ZZ$

                                     0000    62 	.ASCII	/ /

                                     0000    63 	.ENDM

                                     0000    64 	.BYTE	NUM

                                     0000    65 	.ENDM	GENLXF

                                     0000    66  

                                     0000    67 ;

                                     0000    68 ; LOCAL SYMBLS

                                     0000    69 ;

                                     0000    70 ; PARAMETER OFFSET DEFINITIONS

                                     0000    71 ;

                                     0000    72  

                           00000004  0000    73 P1=4					;STACK OFFSET TO PARAMETER 1

                           0000000C  0000    74 P2=12					;STACK OFFSET TO PARAMETER 2

                           00000014  0000    75 P3=20					;STACK OFFSET TO PARAMETER 3

                                     0000    76  

                                     0000    77 ;

                                     0000    78 ; LOCAL DATA

                                     0000    79 ;

                                     0000    80 ; LEXICAL FUNCTION DEFINITION TABLE

                                     0000    81 ;

                                     0000    82  

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

                                     0000    84 LXFUNTABLE:				;LEXICAL FUNCTION DEFINITION TABLE

                                     0000    85 	GENLXF	CVSI,3			;CONVERT SIGNED INTEGER

                                     0005    86 	GENLXF	CVUI,3			;CONVERT UNSIGNED INTEGER

                                     000A    87 	GENLXF	DIRE,0			;DEFAULT DIRECTORY

                                     000F    88 	GENLXF	EXTR,3			;EXTRACT SUBSTRING FROM STRING

                                     0014    89 	GENLXF	LENG,1			;STRING LENGTH

                                     0019    90 	GENLXF	LOCA,2			;LOCATE SUBSTRING

                                     001E    91 	GENLXF	LOGI,1			;LOGICAL NAME TRANSLATION

                                     0023    92 	GENLXF	MESS,1			;GET MESSAGE

                                     0028    93 	GENLXF	MODE,0			;JOB MODE

                                     002D    94 	GENLXF	PROC,0			;PROCESS NAME

                                     0032    95 	GENLXF	TIME,0			;TIME OF DAY

                                     0037    96 	GENLXF	USER,0			;USER IDENTIFICATION CODE

                                     003C    97 	GENLXF	VERI,0			;VERIFY MODE

                           00000041  0041    98 LXFUNTABLEN=.-LXFUNTABLE		;LENGTH OF LEXICAL FUNCTION TABLE

                                     0041    99  

                                     0041   100 ;

                                     0041   101 ; RESULTANT RETURN STRINGS FOR STATE AND MODE RETURN VALUES

                                     0041   102 ;

                                     0041   103  

                                     0041   104 BATCH:					;BATCH MODE

                  48 43 54 41 42 00' 0041   105 	.ASCIC	/BATCH/			;

                                 05  0041       

                                     0047   106 FALSE:					;BOOLEAN VARIABLE FALSE

                                 30  0047   107 	.ASCII	/0/			;

                                     0048   108 INTERACTIVE:				;INTERACTIVE MODE

45 56 49 54 43 41 52 45 54 4E 49 00' 0048   109 	.ASCIC	/INTERACTIVE/		;

                                 0B  0048       

                                     0054   110 TRUE:					;BOOLEAN VARIABLE TRUE

                                 31  0054   111 	.ASCII	/1/			;

                                     0055   112  

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   3

01                                                                                                                               (1)



                                     0055   113 ;

                                     0055   114 ; TRUE/FALSE BOOLEAN VARIABLE STARTING CHARACTERS

                                     0055   115 ;

                                     0055   116  

                                     0055   117 TRUFLS:					;

                        59 4E 54 46  0055   118 	.ASCII	/FTNY/			;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   4

01              LEXICAL FUNCTION DISPATCHER                                                                                      (1)



                                     0059   120 	.SBTTL	LEXICAL FUNCTION DISPATCHER

                                     0059   121 ;+

                                     0059   122 ; DCL$LEXIF - LEXICAL FUNCTION DISPATCH ROUTINE

                                     0059   123 ;

                                     0059   124 ; THIS ROUTINE IS CALLED WHEN A STRING SUBSTITUTION IS SPECIFIED AND THE STRING

                                     0059   125 ; IS CURRENTLY UNDEFINED.

                                     0059   126 ;

                                     0059   127 ; INPUTS:

                                     0059   128 ;

                                     0059   129 ;	R6 = LENGTH OF SYMBOL NAME.

                                     0059   130 ;	R7 = ADDRESS OF SYMBOL NAME.

                                     0059   131 ;	R9 = ADDRESS OF NEXT CHARACTER IN COMMAND BUFFER

                                     0059   132 ;	R10 = ADDRESS OF NEXT CHARACTER IN INPUT BUFFER.

                                     0059   133 ;

                                     0059   134 ; OUTPUTS:

                                     0059   135 ;

                                     0059   136 ;	THE SYMBOL NAME IS MATCHED WITH THE LEXICAL FUNCTION TABLE. IF NO MATCH

                                     0059   137 ;	OCCURS, THEN A NULL STRING IS RETURNED FOR SUBSTITUTION IN THE ORIGINAL

                                     0059   138 ;	COMMAND LINE. IF A MATCH OCCURS, THEN THE APPROPRIATE LEXICAL FUNCTION

                                     0059   139 ;	IS EVALUATED AND THE RESULTANT STRING IS RETURNED.

                                     0059   140 ;

                                     0059   141 ;	R1 = LENGTH OF RESULT STRING.

                                     0059   142 ;	R2 = ADDRESS OF RESULT STRING.

                                     0059   143 ;	R9 AND R10 ARE UPDATED AS APPROPRIATE.

                                     0059   144 ;-

                                     0059   145  

                                     0059   146 DCL$LEXIF::				;LEXICAL FUNCTION DISPATCH

            5C            5E     D0  0059   147 	MOVL	SP,AP			;MARK STACK ADDRESS

                          5A     DD  005C   148 	PUSHL	R10			;SAVE CURRENT ADDRESS IN INPUT BUFFER

                          0340   30  005E   149 	BSBW	SKIP_SPACES		;SKIP TRAILING BLANKS AND TABS

            56            06     D1  0061   150 	CMPL	#6,R6			;SPECIFIED NAME LONGER THAN 6 CHARACTERS?

                          03     1A  0064   151 	BGTRU	10$			;IF GTRU NO

            56            06     D0  0066   152 	MOVL	#6,R6			;REDUCE LENGTH TO 6 CHARACTERS

            50            8A     9A  0069   153 10$:	MOVZBL	(R10)+,R0		;GET TERMINAL CHARACTER

                                     006C   154 	PUTCHAR				;PUT CHARACTER IN COMMAND BUFFER

            87       2446 8F     B1  006F   155 	CMPW	#^A/F$/,(R7)+		;POSSIBLY LEXICAL FUNCTION NAME?

                          03     12  0074   156 	BNEQ	15$			;IF NEQ NO

            50            28     91  0076   157 	CMPB	#^A/(/,R0		;POSSIBLY LEXICAL FUNCTION?

                          7F     12  0079   158 15$:	BNEQ	60$			;IF NEQ NO

            56            02     C2  007B   159 	SUBL	#2,R6			;REDUCE LENGTH OF FUNCTION NAME

                          7A     15  007E   160 	BLEQ	60$			;IF LEQ NOT LEXICAL FUNCTION NAME

            67         80 8F     88  0080   161 	BISB	#128,(R7)		;SET FORCE MATCH FLAG

            67            56     39  0084   162 	MATCHC	R6,(R7),#LXFUNTABLEN,LXFUNTABLE ;SEARCH FOR FUNCTION NAME MATCH

       FF73 CF       0041 8F         0087       

                          71     12  008D   163 	BNEQ	70$			;IF NEQ NO MATCH FOUND

            52            56     C0  008F   164 	ADDL	R6,R2			;CALCULATE BYTES REMAINING INCLUDING SUBSTRING

            52            05     C7  0092   165 	DIVL3	#5,R2,R8		;CALCULATE COMPLETE TABLE ENTRY NUMBER

                          58         0095       

            67            56     39  0096   166 	MATCHC	R6,(R7),#9,(R3)		;SCAN FOR DUPLICATE MATCH

            63            09         0099       

                          69     13  009B   167 	BEQL	80$			;IF EQL DUPLICATE MATCH FOUND

            0D            58     C3  009D   168 	SUBL3	R8,#LXFUNTABLEN/5,R8	;CALCULATE REAL FUNCTION INDEX

                          58         00A0       

            58            05     C5  00A1   169 	MULL3	#5,R8,R7		;CALCULATE BYTE OFFSET IN FUNCTION TABLE

                          57         00A4       

            57       FF5A CF47   9A  00A5   170 	MOVZBL	LXFUNTABLE+4[R7],R7	;GET NUMBER OF FUNCTION ARGUMENTS

                          02F3   30  00AB   171 20$:	BSBW	SKIP_SPACES		;SKIP LEADING BLANKS AND TABS

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   5

01              LEXICAL FUNCTION DISPATCHER                                                                                      (1)



                          57     D7  00AE   172 	DECL	R7			;ANY MORE ARGUMENTS TO PROCESS?

                          36     19  00B0   173 	BLSS	50$			;IF LSS NO

            7E            59     7D  00B2   174 	MOVQ	R9,-(SP)		;SAVE CURRENT BUFFER POINTERS

                                     00B5   175 	GETXSYM				;GET ARGUMENT SYMBOL OR LITERAL

                          1D     13  00B8   176 	BEQL	40$			;IF EQL NULL STRING

            56            62     9A  00BA   177 	MOVZBL	(R2),R6			;SAVE STRING CHARACTER OF STRING

                                     00BD   178 	COMPSTRING			;COMPRESS STRING

            56            22     91  00C0   179 	CMPB	#^A/"/,R6		;STRING LITERAL?

                          12     13  00C3   180 	BEQL	40$			;IF EQL YES

            62            25     91  00C5   181 	CMPB	#^A/%/,(R2)		;NUMERIC RADIX OPERATOR?

                          0D     13  00C8   182 	BEQL	40$			;IF EQL YES

            62            30     91  00CA   183 	CMPB	#^A/0/,(R2)		;POSSIBLY NUMERIC LITERAL?

                          05     1A  00CD   184 	BGTRU	30$			;IF GTRU NO

            62            39     91  00CF   185 	CMPB	#^A/9/,(R2)		;POSSIBLY NUMERIC LITERAL?

                          03     1E  00D2   186 	BGEQU	40$			;IF GEQU YES

                                     00D4   187 30$:	SEARCH				;SEARCH SYMBOL TABLE FOR SYMBOL

            6E            51     7D  00D7   188 40$:	MOVQ	R1,(SP)			;SAVE STRING DESCRIPTOR

                          02C4   30  00DA   189 	BSBW	SKIP_SPACES		;SKIP TRAILING SPACES

                          57     D5  00DD   190 	TSTL	R7			;LAST PARAMETER TO PROCESS?

                          07     13  00DF   191 	BEQL	50$			;IF EQL YES

            8A            2C     91  00E1   192 	CMPB	#^A/,/,(R10)+		;TRAILING COMMA?

                          C5     13  00E4   193 	BEQL	20$			;IF EQL YES

                          27     11  00E6   194 	BRB	100$			;

            8A            29     91  00E8   195 50$:	CMPB	#^A/)/,(R10)+		;TRAILING RIGHT PARENTHESIS?

                          22     12  00EB   196 	BNEQ	100$			;IF NEQ NO

            8A            27     91  00ED   197 	CMPB	#^A/'/,(R10)+		;CLOSING SINGLE QUOTE?

                          02     13  00F0   198 	BEQL	55$			;IF EQL YES

                          5A     D7  00F2   199 	DECL	R10			;BACK UP TO CLOSING CHARACTER

                          2C     10  00F4   200 55$:	BSBB	DISPATCH		;DISPATCH FUNCTION

            5E            5C     D0  00F6   201 	MOVL	AP,SP			;REMOVE ALL TEMPORARIES FROM STACK

                                 05  00F9   202 	RSB				;

                                     00FA   203  

                                     00FA   204 ;

                                     00FA   205 ; FUNCTION NOT TERMINATED WITH LEFT PARENTHESIS, DOES NOT CONTAIN AT LEAST TWO

                                     00FA   206 ; CHARACTERS, OR DOES NOT START WITH THE CHARACTERS "F$".

                                     00FA   207 ;

                                     00FA   208  

                          5A   8ED0  00FA   209 60$:	POPL	R10			;RESTORE INPUT BUFFER POINTER

                          51     D4  00FD   210 	CLRL	R1			;RETURN NULL STRING

                                 05  00FF   211 	RSB				;

                                     0100   212  

                                     0100   213 ;

                                     0100   214 ; INVALID FUNCTION NAME

                                     0100   215 ;

                                     0100   216  

                                     0100   217 70$:	STATUS	IVFNAM			;SET INVALID FUNCTION NAME STATUS

                          04     11  0104   218 	BRB	90$			;

                                     0106   219  

                                     0106   220 ;

                                     0106   221 ; AMBIGUOUS FUNCTION NAME

                                     0106   222 ;

                                     0106   223  

                                     0106   224 80$:	STATUS	ABFNAM			;SET AMBIGUOUS FUNCTION NAME STATUS

            56            77     3E  010A   225 90$:	MOVAW	-(R7),R6		;SET STARTING ADDRESS OF FUNCTION NAME

                          10     11  010D   226 	BRB	110$			;

                                     010F   227  

                                     010F   228 ;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   6

01              LEXICAL FUNCTION DISPATCHER                                                                                      (1)



                                     010F   229 ; INVALID SYMBOL DELIMITER

                                     010F   230 ;

                                     010F   231  

                                     010F   232 100$:	STATUS	SYMDEL			;SET INVALID SYMBOL DELIMITER STATUS

            59            5A     D0  0113   233 	MOVL	R10,R9			;SET ADDRESS OF NEXT CHARACTER IN BUFFER

            56            79     9E  0116   234 	MOVAB	-(R9),R6		;SET ADDRESS OF INVALID DELIMITER

                          66     95  0119   235 	TSTB	(R6)			;AT END OF LINE?

                          02     12  011B   236 	BNEQ	110$			;IF NEQ NO

                          5A     D7  011D   237 	DECL	R10			;BACK UP TO END OF LINE

                          028A   31  011F   238 110$:	BRW	DCL$PARSERR		;

                                     0122   239  

                                     0122   240 ;

                                     0122   241 ; DISPATCH TO PROPER LEXICAL FUNCTION ROUTINE

                                     0122   242 ;

                                     0122   243  

                                     0122   244 DISPATCH:				;

                                     0122   245 	CASE	R8,<-			;

                                     0122   246 		F$CVSINTEGER,-		;CONVERT SIGNED INTEGER

                                     0122   247 		F$CVUINTEGER,-		;CONVERT UNSIGNED INTEGER

                                     0122   248 		F$DIRECTORY,-		;DEFAULT DIRECTORY

                                     0122   249 		F$EXTRACT,-		;EXTRACT SUBSTRING FROM STRING

                                     0122   250 		F$LENGTH,-		;STRING LENGTH

                                     0122   251 		F$LOCATE,-		;LOCATE SUBSTRING

                                     0122   252 		F$LOGICAL,-		;LOGICAL NAME TRANSLATION

                                     0122   253 		F$MESSAGE,-		;GET MESSAGE

                                     0122   254 		F$MODE,-		;JOB MODE

                                     0122   255 		F$PROCESS,-		;PROCESS NAME

                                     0122   256 		F$TIME,-		;CURRENT TIME AND DATE

                                     0122   257 		F$USER,-		;USER IDENTIFICATION

                                     0122   258 		F$VERIFY,-		;VERIFY MODE

                                     0122   259 		>			;

                          51     D4  0140   260 	CLRL	R1			;RETURN NULL STRING

                                 05  0142   261 	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   7

01              CONVERT SIGNED AND UNSIGNED INTEGER FIELD                                                                        (1)



                                     0143   263 	.SBTTL	CONVERT SIGNED AND UNSIGNED INTEGER FIELD

                                     0143   264 ;+

                                     0143   265 ; F$CVSINTEGER - CONVERT SIGNED INTEGER

                                     0143   266 ; F$CVUINTEGER - CONVERT UNSIGNED INTEGER

                                     0143   267 ;

                                     0143   268 ; THIS LEXICAL FUNCTION RETURNS THE BINARY DATA EXTRACTED FROM AN ARBITRARY

                                     0143   269 ; FIELD IN A STRING.

                                     0143   270 ;

                                     0143   271 ;	F$CVSINTEGER ( POSITION, SIZE, STRING )

                                     0143   272 ;	F$CVUINTEGER ( POSITION, SIZE, STRING )

                                     0143   273 ;

                                     0143   274 ; INPUTS:

                                     0143   275 ;

                                     0143   276 ;	P1(SP) = LENGTH OF STRING.

                                     0143   277 ;	P1+4(SP) = ADDRESS OF STRING.

                                     0143   278 ;	P2(SP) = LENGTH OF SIZE STRING.

                                     0143   279 ;	P2+4(SP) = ADDRESS OF SIZE STRING.

                                     0143   280 ;	P3(SP) = LENGTH OF POSITION STRING.

                                     0143   281 ;	P3+4(SP) = ADDRESS OF POSITION STRING.

                                     0143   282 ;

                                     0143   283 ; OUTPUTS:

                                     0143   284 ;

                                     0143   285 ;	R1 = LENGTH OF CONVERTED BINARY FIELD.

                                     0143   286 ;	R2 = ADDRESS OF CONVERTED BINARY FIELD.

                                     0143   287 ;-

                                     0143   288  

                                     0143   289 	.ENABL	LSB

                                     0143   290 F$CVSINTEGER:				;CONVERT SIGNED INTEGER

                          01     DD  0143   291 	PUSHL	#1			;SET SIGNED CONVERSION INDICATOR

                          02     11  0145   292 	BRB	10$			;

                                     0147   293 F$CVUINTEGER:				;CONVERT UNSIGNED INTEGER

                          00     DD  0147   294 	PUSHL	#0			;SET UNSIGNED CONVERSION INDICATOR

            52         18 AE     7D  0149   295 10$:	MOVQ	P3+4(SP),R2		;GET POSITION STRING PARAMETERS

                          0201   30  014D   296 	BSBW	CATB			;CONVERT NUMERIC PARAMETER

            58            51     D0  0150   297 	MOVL	R1,R8			;SAVE POSITION VALUE

            52         10 AE     7D  0153   298 	MOVQ	P2+4(SP),R2		;GET SIZE STRING PARAMETERS

                          01F7   30  0157   299 	BSBW	CATB			;CONVERT NUMERIC VALUE

            51            20     D1  015A   300 	CMPL	#32,R1			;SIZE VALUE GREATER THAN 1 LONGWORD?

                          03     18  015D   301 	BGEQ	20$			;IF GEQ NO

            51            20     D0  015F   302 	MOVL	#32,R1			;REDUCE TO LONGWORD SIZE

                          50     D4  0162   303 20$:	CLRL	R0			;ASSUME FIELD IS NOT DEFINED

            58            51     C1  0164   304 	ADDL3	R1,R8,R3		;CALCULATE ENDING BIT POSITION

                          53         0167       

         08 AE            08     C5  0168   305 	MULL3	#8,P1+4(SP),R2		;CALCULATE SIZE OF STRING IN BITS

                          52         016C       

            52            58     D1  016D   306 	CMPL	R8,R2			;FIELD POSITION BEYOND END OF STRING?

                          13     18  0170   307 	BGEQ	40$			;IF GEQ YES

            52            53     C2  0172   308 	SUBL	R3,R2			;FIELD POSITION TOTALLY WITHIN STRING?

                          05     18  0175   309 	BGEQ	30$			;IF GEQ YES

                          6E     D4  0177   310 	CLRL	(SP)			;FORCE UNSIGNED EXTRACT

            57            52     C0  0179   311 	ADDL	R2,R7			;REDUCE SIZE OF FIELD

            0A            6E     E8  017C   312 30$:	BLBS	(SP),50$		;IF LBS SIGNED CONVERSION

            51            58     EF  017F   313 	EXTZV	R8,R1,@P1+8(SP),R0	;EXTRACT FIELD

            50         0C BE         0182       

                          6E     D4  0185   314 40$:	CLRL	(SP)			;CLEAR NEGATION INDICATOR

                          11     11  0187   315 	BRB	60$			;

                          6E     D4  0189   316 50$:	CLRL	(SP)			;CLEAR NEGATION INDICATOR

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   8

01              CONVERT SIGNED AND UNSIGNED INTEGER FIELD                                                                        (1)



            51            58     EE  018B   317 	EXTV	R8,R1,@P1+8(SP),R0	;EXTRACT FIELD

            50         0C BE         018E       

                          07     18  0191   318 	BGEQ	60$			;IF GEQ VALUE NOT NEGATIVE

                          6E     D6  0193   319 	INCL	(SP)			;SET NEGATION INDICATOR

            50            50     CE  0195   320 	MNEGL	R0,R0			;NEGATE ORIGINAL VALUE

                          59     D6  0198   321 	INCL	R9			;ADVANCE BUFFER POINTER FOR MINUS SIGN

                          01E0   30  019A   322 60$:	BSBW	CBTA_DEC		;CONVERT NUMBER TO ACSII

            05            8E     E9  019D   323 	BLBC	(SP)+,70$		;IF LBC NO MINUS SIGN NEEDED

            72            2D     90  01A0   324 	MOVB	#^A/-/,-(R2)		;INSERT MINUS SIGN

                          51     D6  01A3   325 	INCL	R1			;INCREASE SIZE OF RESULTANT STRING

                                 05  01A5   326 70$:	RSB				;

                                     01A6   327 	.DSABL	LSB

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page   9

01              RETURN DEFAULT DIRECTORY NAME STRING                                                                             (1)



                                     01A6   329 	.SBTTL	RETURN DEFAULT DIRECTORY NAME STRING

                                     01A6   330 ;+

                                     01A6   331 ; F$DIRECTORY - RETURN DEFAULT DIRECTORY NAME STRING

                                     01A6   332 ;

                                     01A6   333 ; THIS LEXICAL FUNCTION RETURNS THE ADDRESS AND LENGTH OF THE CURRENT DEFAULT

                                     01A6   334 ; DIRECTORY STRING.

                                     01A6   335 ;

                                     01A6   336 ;	F$DIRECTORY ()

                                     01A6   337 ;

                                     01A6   338 ; INPUTS:

                                     01A6   339 ;

                                     01A6   340 ;	NONE.

                                     01A6   341 ;

                                     01A6   342 ; OUTPUTS:

                                     01A6   343 ;

                                     01A6   344 ;	R1 = LENGTH OF DEFAULT DIRECTORY STRING.

                                     01A6   345 ;	R2 = ADDRESS OF DEFAULT DIRECTORY STRING.

                                     01A6   346 ;-

                                     01A6   347  

                                     01A6   348 F$DIRECTORY:				;RETURN DEFAULT DIRECTORY STRING

            52   00000000'9F     9E  01A6   349 	MOVAB	@#PIO$GT_DDSTRING,R2	;GET ADDRESS OF DEFAULT DIRECTORY STRING

            51            82     9A  01AD   350 	MOVZBL	(R2)+,R1		;GET LENGTH OF DEFAULT DIRECTORY STRING

                                 05  01B0   351 	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  10

01              EXTRACT SUBSTRING FROM STRING                                                                                    (1)



                                     01B1   353 	.SBTTL	EXTRACT SUBSTRING FROM STRING

                                     01B1   354 ;+

                                     01B1   355 ; F$EXTRACT - EXTRACT SUBSTRING FROM STRING

                                     01B1   356 ;

                                     01B1   357 ; THIS LEXICAL FUNCTION EXTRACTS A SUBSTRING FROM AN ARGUMENT STRING AND RETURNS

                                     01B1   358 ; ITS DESCRIPTOR.

                                     01B1   359 ;

                                     01B1   360 ;	F$EXTRACT ( POSITION, SIZE, STRING )

                                     01B1   361 ;

                                     01B1   362 ; INPUTS:

                                     01B1   363 ;

                                     01B1   364 ;	P1(SP) = LENGTH OF STRING.

                                     01B1   365 ;	P1+4(SP) = ADDRESS OF STRING.

                                     01B1   366 ;	P2(SP) = LENGTH OF SIZE STRING.

                                     01B1   367 ;	P2+4(SP) = ADDRESS OF SIZE STRING.

                                     01B1   368 ;	P3(SP) = LENGTH OF POSITION STRING.

                                     01B1   369 ;	P3+4(SP) = ADDRESS OF POSITION STRING.

                                     01B1   370 ;

                                     01B1   371 ; OUTPUTS:

                                     01B1   372 ;

                                     01B1   373 ;	R1 = LENGTH OF EXTRACTED SUBSTRING.

                                     01B1   374 ;	R2 = ADDRESS OF EXTRACTED SUBSTRING.

                                     01B1   375 ;-

                                     01B1   376  

                                     01B1   377 F$EXTRACT:				;

            52         14 AE     7D  01B1   378 	MOVQ	P3(SP),R2		;GET POSITION SUBSTRING PARAMETERS

                          0199   30  01B5   379 	BSBW	CATB			;CONVERT NUMERIC PARAMETER

            58            51     D0  01B8   380 	MOVL	R1,R8			;SAVE STARTING POSITION OF SUBSTRING

                          51     D4  01BB   381 	CLRL	R1			;ASSUME NULL SUBSTRING

         04 AE            58     D1  01BD   382 	CMPL	R8,P1(SP)		;STARTING POSITION BEYOND END OF STRING

                          1A     1E  01C1   383 	BGEQU	10$			;IF GTRU YES

            52         0C AE     7D  01C3   384 	MOVQ	P2(SP),R2		;GET SIZE STRING PARAMETERS

                          0187   30  01C7   385 	BSBW	CATB			;CONVERT NUMERIC PARAMETER

         08 AE            58     C1  01CA   386 	ADDL3	R8,P1+4(SP),R2		;CALCULATE STARTING ADDRESS OF SUBSTRING

                          52         01CE       

         04 AE            58     C2  01CF   387 	SUBL	R8,P1(SP)		;REDUCE APPARENT STRING LENGTH BY POSITION

         04 AE            51     C2  01D3   388 	SUBL	R1,P1(SP)		;REDUCE STRING BY LENGTH OF SUBSTRING

                          04     1E  01D7   389 	BGEQU	10$			;IF GEQU STRING LENGTH SUFFICIENT

            51         04 AE     C0  01D9   390 	ADDL	P1(SP),R1		;CALCULATE ACTUAL LENGTH OF SUBSTRING

                                 05  01DD   391 10$:	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  11

01              RETURN LENGTH OF STRING                                                                                          (1)



                                     01DE   393 	.SBTTL	RETURN LENGTH OF STRING

                                     01DE   394 ;+

                                     01DE   395 ; F$LENGTH - RETURN LENGTH OF STRING

                                     01DE   396 ;

                                     01DE   397 ; THIS LEXICAL FUNCTION RETURNS THE LENGTH OF ITS ARGUMENT AS A DECIMAL STRING.

                                     01DE   398 ;

                                     01DE   399 ;	F$LENGTH ( STRING )

                                     01DE   400 ;

                                     01DE   401 ; INPUTS:

                                     01DE   402 ;

                                     01DE   403 ;	P1(SP) = LENGTH OF ARGUMENT STRING.

                                     01DE   404 ;	P1+4(SP) = ADDRESS OF ARGUMENT STRING.

                                     01DE   405 ;

                                     01DE   406 ; OUTPUTS:

                                     01DE   407 ;

                                     01DE   408 ;	R1 = LENGTH OF CONVERTED STRING LENGTH.

                                     01DE   409 ;	R2 = ADDRESS OF CONVERTED STRING LENGTH.

                                     01DE   410 ;-

                                     01DE   411  

                                     01DE   412 	.ENABL	LSB

                                     01DE   413 F$LENGTH:				;RETURN LENGTH OF STRING

            51         04 AE     D0  01DE   414 	MOVL	P1(SP),R1		;GET VALUE TO BE CONVERTED

                          14     11  01E2   415 	BRB	20$			;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  12

01              LOCATE SUBSTRING IN STRING                                                                                       (1)



                                     01E4   417 	.SBTTL	LOCATE SUBSTRING IN STRING

                                     01E4   418 ;+

                                     01E4   419 ; F$LOCATE - LOCATE SUBSTRING IN STRING

                                     01E4   420 ;

                                     01E4   421 ; THIS LEXICAL FUNCTION RETURNS THE STARTING POSITION OF A SUBSTRING IN ANOTHER

                                     01E4   422 ; STRING. IF THE SUBSTRING IS NOT CONTAINED IN THE SPECIFIED STRING, THEN THE

                                     01E4   423 ; LENGTH OF THE SPECIFIED STRING IS RETURNED.

                                     01E4   424 ;

                                     01E4   425 ;	F$LOCATE ( SUBSTRING, STRING )

                                     01E4   426 ;

                                     01E4   427 ; INPUTS:

                                     01E4   428 ;

                                     01E4   429 ;	P1(SP) = LENGTH OF STRING.

                                     01E4   430 ;	P1+4(SP) = ADDRESS OF STRING.

                                     01E4   431 ;	P2(SP) = LENGTH OF SUBSTRING.

                                     01E4   432 ;	P2+4(SP) = ADDRESS OF SUBSTRING.

                                     01E4   433 ;

                                     01E4   434 ; OUTPUTS:

                                     01E4   435 ;

                                     01E4   436 ;	R1 = LENGTH OF CONVERTED POSITION STRING.

                                     01E4   437 ;	R2 = ADDRESS OF CONVERTED POSITION STRING.

                                     01E4   438 ;-

                                     01E4   439  

                                     01E4   440 F$LOCATE:				;LOCATE SUBSTRING IN STRING

         10 BE         0C AE     39  01E4   441 	MATCHC	P2(SP),@P2+4(SP),P1(SP),@P1+4(SP) ;SEARCH FOR SUBSTRING MATCH

         08 BE         04 AE         01E9       

                          04     12  01ED   442 	BNEQ	10$			;IF NEQ NO MATCH FOUND

            53         0C AE     C2  01EF   443 	SUBL	P2(SP),R3		;CALCULATE STARTING ADDRESS OF SUBSTRING

            53         08 AE     C3  01F3   444 10$:	SUBL3	P1+4(SP),R3,R1		;CALCULATE STARTING POSITION OF SUBSTRING

                          51         01F7       

            50            51     D0  01F8   445 20$:	MOVL	R1,R0			;SET NUMBER TO BE CONVERTED

                          017F   31  01FB   446 	BRW	CBTA_DEC		;CONVERT TO ASCII DECIMAL

                                     01FE   447 	.DSABL	LSB

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  13

01              LOGICAL NAME TRANSLATION                                                                                         (1)



                                     01FE   449 	.SBTTL	LOGICAL NAME TRANSLATION

                                     01FE   450 ;+

                                     01FE   451 ; F$LOGICAL - LOGICAL NAME TRANSLATION

                                     01FE   452 ;

                                     01FE   453 ; THIS LEXICAL FUNCTION OBTAINS THE TRANSLATION FOR A SPECIFED LOGICAL NAME AND

                                     01FE   454 ; RETURN THE EQUIVALENCE NAME.

                                     01FE   455 ;

                                     01FE   456 ;	F$LOGICAL ( LOGICAL_NAME )

                                     01FE   457 ;

                                     01FE   458 ; INPUTS:

                                     01FE   459 ;

                                     01FE   460 ;	P1(SP) = LENGTH OF LOGICAL NAME STRING.

                                     01FE   461 ;	P1+4(SP) = ADDRESS OF LOGICAL NAME STRING.

                                     01FE   462 ;

                                     01FE   463 ; OUTPUTS:

                                     01FE   464 ;

                                     01FE   465 ;	R1 = LENGTH OF EQUIVALENCE STRING.

                                     01FE   466 ;	R2 = ADDRESS OF EQUIVALENCE STRING.

                                     01FE   467 ;-

                                     01FE   468  

                                     01FE   469 	.ENABL	LSB

                                     01FE   470 F$LOGICAL:				;LOGICAL NAME TRANSLATION

            50         04 AE     9E  01FE   471 	MOVAB	P1(SP),R0		;GET ADDRESS OF LOGICAL NAME DESCRIPTOR

                          59     DD  0202   472 	PUSHL	R9			;BUILD EQUIVALENCE NAME DESCRIPTOR

            5A            59     C3  0204   473 	SUBL3	R9,R10,-(SP)		;

                          7E         0207       

            51            5E     D0  0208   474 	MOVL	SP,R1			;SET ADDRESS OF EQUIVALENCE NAME DESCRIPTOR

                                     020B   475 	$TRNLOG_S (R0),(R1),(R1)	;TRANSLATE LOGICAL NAME

            51            8E     7D  021E   476 	MOVQ	(SP)+,R1		;RETRIEVE EQUIVALENCE NAME PARAMETERS

            45            50     E9  0221   477 	BLBC	R0,20$			;IF LBC TRANSLATION FAILURE

            50       0000'8F     B1  0224   478 	CMPW	#SS$_NOTRAN,R0		;DID TRANSLATION ACTUALLY OCCUR?

                          11     13  0229   479 	BEQL	5$			;IF EQL NO

                          51     D5  022B   480 	TSTL	R1			;ZERO LENGTH VALUE?

                          0F     13  022D   481 	BEQL	10$			;IF EQL YES

            62            1B     91  022F   482 	CMPB	#27,(R2)		;FIRST CHARACTER ESCAPE?

                          0A     12  0232   483 	BNEQ	10$			;IF NEQ NO

            52            04     C0  0234   484 	ADDL	#4,R2			;POINT PAST ESCAPE SEQUENCE

            51            04     C2  0237   485 	SUBL	#4,R1			;REDUCE LENGTH OF EQUIVALENCE STRING

                          02     18  023A   486 	BGEQ	10$			;IF GEQ OKAY

                          51     D4  023C   487 5$:	CLRL	R1			;SET TO RETURN NULL STRING

                                 05  023E   488 10$:	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  14

01              GET MESSAGE TEXT                                                                                                 (1)



                                     023F   490 	.SBTTL	GET MESSAGE TEXT

                                     023F   491 ;+

                                     023F   492 ; F$MESSAGE - GET MESSAGE TEXT

                                     023F   493 ;

                                     023F   494 ; THIS LEXICAL FUNCTION OBTAINS THE MESSAGE TEXT ASSOCIATED WITH A MESSAGE CODE.

                                     023F   495 ;

                                     023F   496 ;	F$MESSAGE ( CODE )

                                     023F   497 ;

                                     023F   498 ; INPUTS:

                                     023F   499 ;

                                     023F   500 ;	P1(SP) = LENGTH OF MESSAGE CODE NAME STRING.

                                     023F   501 ;	P1+4(SP) = ADDRESS OF MESSAGE CODE NAME STRING.

                                     023F   502 ;

                                     023F   503 ; OUTPUTS:

                                     023F   504 ;

                                     023F   505 ;	R1 = LENGTH OF MESSAGE TEXT STRING.

                                     023F   506 ;	R2 = ADDRESS OF MESSAGE TEXT STRING.

                                     023F   507 ;-

                                     023F   508  

                                     023F   509 F$MESSAGE:				;GET MESSAGE TEXT

            52         04 AE     7D  023F   510 	MOVQ	P1(SP),R2		;GET MESSAGE CODE NAME STRING PARAMETERS

                          010B   30  0243   511 	BSBW	CATB			;CONVERT NUMERIC PARAMETER

                          59     DD  0246   512 	PUSHL	R9			;BUILD MESSAGE BUFFER DESCRIPTOR

            5A            59     C3  0248   513 	SUBL3	R9,R10,-(SP)		;

                          7E         024B       

            52            5E     D0  024C   514 	MOVL	SP,R2			;SET ADDRESS OF MESSAGE BUFFER DESCRIPTOR

                                     024F   515 	$GETMSG_S R1,(R2),(R2),#15	;GET MESSAGE TEXT

            51            8E     7D  0260   516 	MOVQ	(SP)+,R1		;RETRIEVE MESSAGE TEXT PARAMETERS

            50            00'    B1  0263   517 	CMPW	S^#SS$_NORMAL,R0	;SUCCESSFUL COMPLETION?

                          01     12  0266   518 	BNEQ	20$			;IF NEQ NO

                                 05  0268   519 	RSB				;

                                     0269   520  

                                     0269   521 ;

                                     0269   522 ; LOGICAL NAME OR MESSAGE CODE TRANSLATION FAILURE

                                     0269   523 ;

                                     0269   524  

            56         08 AE     D0  0269   525 20$:	MOVL	P1+4(SP),R6		;GET ADDRESS OF NAME STRING

         04 AE            56     C1  026D   526 	ADDL3	R6,P1(SP),R9		;CALCULATE ENDING ADDRESS OF NAMESTRING

                          59         0271       

                          0137   31  0272   527 	BRW	DCL$PARSERR		;

                                     0275   528 	.DSABL	LSB

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  15

01              RETURN JOB MODE                                                                                                  (1)



                                     0275   530 	.SBTTL	RETURN JOB MODE

                                     0275   531 ;+

                                     0275   532 ; F$MODE - RETURN JOB MODE

                                     0275   533 ;

                                     0275   534 ; THIS LEXICAL FUNCTION RETURNS A STRING THAT IS EITHER "INTERACTIVE" OR "BATCH"

                                     0275   535 ; DEPENDENT ON THE JOB MODE.

                                     0275   536 ;

                                     0275   537 ;	F$MODE ()

                                     0275   538 ;

                                     0275   539 ; INPUTS:

                                     0275   540 ;

                                     0275   541 ;	NONE.

                                     0275   542 ;

                                     0275   543 ; OUTPUTS:

                                     0275   544 ;

                                     0275   545 ;	R1 = LENGTH OF JOB MODE DESCRIPTION STRING.

                                     0275   546 ;	R2 = ADDRESS OF JOB MODE DESCRIPTION STRING.

                                     0275   547 ;-

                                     0275   548  

                                     0275   549 F$MODE:					;RETURN JOB MODE

            52       FDCF CF     9E  0275   550 	MOVAB	INTERACTIVE,R2		;ASSUME INTERACTIVE JOB

         54 AB            06     E1  027A   551 	BBC	#PRC_V_MODE,PRC_W_FLAGS(R11),10$ ;IF CLR, INTERACTIVE JOB

                          05         027E       

            52       FDBE CF     9E  027F   552 	MOVAB	BATCH,R2		;GET ADDRESS OF BATCH STRING

            51            82     9A  0284   553 10$:	MOVZBL	(R2)+,R1		;GET LENGTH OF STRING

                                 05  0287   554 	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  16

01              RETURN PROCESS NAME                                                                                              (1)



                                     0288   556 	.SBTTL	RETURN PROCESS NAME

                                     0288   557 ;+

                                     0288   558 ; F$PROCESS - RETURN PROCESS NAME

                                     0288   559 ;

                                     0288   560 ; THIS LEXICAL FUNCTION OBTAINS THE CURRENT PROCESS NAME AND RETURN A DESCRIPTOR

                                     0288   561 ; FOR IT.

                                     0288   562 ;

                                     0288   563 ;	F$PROCESS ()

                                     0288   564 ;

                                     0288   565 ; INPUTS:

                                     0288   566 ;

                                     0288   567 ;	NONE.

                                     0288   568 ;

                                     0288   569 ; OUTPUTS:

                                     0288   570 ;

                                     0288   571 ;	R1 = LENGTH OF PROCESS NAME.

                                     0288   572 ;	R2 = ADDRESS OF PROCESS NAME.

                                     0288   573 ;-

                                     0288   574  

                                     0288   575 	.ENABL	LSB

                                     0288   576 F$PROCESS:				;RETURN PROCESS NAME

                          7E     D4  0288   577 	CLRL	-(SP)			;CLEAR LENGTH AND ITEM ID OF LAST ITEM

                       F4 AE     9F  028A   578 	PUSHAB	-12(SP)			;PUSH ADDRESS TO STORE LENGTH

                          59     DD  028D   579 	PUSHL	R9			;PUSH ADDRESS OF OUTPUT BUFFER

            5A            59     C3  028F   580 	SUBL3	R9,R10,-(SP)		;CALCULATE LENGTH OF OUTPUT BUFFER

                          7E         0292       

            6E            0F     D1  0293   581 	CMPL	#15,(SP)		;BUFFER BIG ENOUGH TO HOLD PROCESS NAME?

                          25     1A  0296   582 	BGTRU	10$			;IF GTRU NO

         02 AE       031C 8F     B0  0298   583 	MOVW	#JPI$_PRCNAM,2(SP)	;SET PROCESS NAME IDENTIFICATION

            50            5E     D0  029E   584 	MOVL	SP,R0			;SET ADDRESS OF ITEM LIST

                                     02A1   585 	$GETJPI_S ITMLST=(R0)		;GET PROCESS NAME

                       02 AE     B4  02B4   586 	CLRW	2(SP)			;CLEAR ITEM IDENTIFICATION

            7E            50     E9  02B7   587 	BLBC	R0,30$			;IF LBC SERVICE FAILURE

                          1E     BA  02BA   588 	POPR	#^M<R1,R2,R3,R4>	;RETRIEVE PROCESS NAME PARAMETERS

                                 05  02BC   589 	RSB				;

                          76     11  02BD   590 10$:	BRB	20$			;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  17

01              RETURN CURRENT TIME AND DATE                                                                                     (1)



                                     02BF   592 	.SBTTL	RETURN CURRENT TIME AND DATE

                                     02BF   593 ;+

                                     02BF   594 ; F$TIME - RETURN CURRENT TIME AND DATE

                                     02BF   595 ;

                                     02BF   596 ; THIS LEXICAL FUNCTION OBTAINS THE CURRENT TIME AND DATE AND RETURNS A STRING

                                     02BF   597 ; DESCRIPTOR FOR IT.

                                     02BF   598 ;

                                     02BF   599 ;	F$TIME ()

                                     02BF   600 ;

                                     02BF   601 ; INPUTS:

                                     02BF   602 ;

                                     02BF   603 ;	NONE.

                                     02BF   604 ;

                                     02BF   605 ; OUTPUTS:

                                     02BF   606 ;

                                     02BF   607 ;	R1 = LENGTH OF TIME AND DATE STRING.

                                     02BF   608 ;	R2 = ADDRESS OF TIME AND DATE STRING.

                                     02BF   609 ;-

                                     02BF   610  

                                     02BF   611 F$TIME:					;RETURN TIME AND DATE

                          59     DD  02BF   612 	PUSHL	R9			;BUILD TIME BUFFER DESCRIPTOR

            5A            59     C3  02C1   613 	SUBL3	R9,R10,-(SP)		;

                          7E         02C4       

            6E            17     D1  02C5   614 	CMPL	#23,(SP)		;TIME BUFFER LARGE ENOUGH?

                          6B     1A  02C8   615 	BGTRU	20$			;IF GTRU NO

            50            5E     D0  02CA   616 	MOVL	SP,R0			;SET ADDRESS OF TIME BUFFER DESCRIPTOR

                                     02CD   617 	$ASCTIM_S (R0),(R0)		;GET CURRENT TIME

            51            8E     7D  02DC   618 	MOVQ	(SP)+,R1		;RETRIEVE TIME BUFFER PARAMETERS

            56            50     E9  02DF   619 	BLBC	R0,30$			;IF LBC CONVERSION FAILURE

                                 05  02E2   620 	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  18

01              RETURN USER IDENTIFICATION CODE                                                                                  (1)



                                     02E3   622 	.SBTTL	RETURN USER IDENTIFICATION CODE

                                     02E3   623 ;+

                                     02E3   624 ; F$USER - RETURN USER IDENTIFICATION CODE

                                     02E3   625 ;

                                     02E3   626 ; THIS LEXICAL FUNCTION FUNCTION CONVERTS THE USER IDENTIFICATION CODE TO AN

                                     02E3   627 ; ASCII STRING AND RETURNS A DESCRIPTOR FOR IT.

                                     02E3   628 ;

                                     02E3   629 ;	F$USER ()

                                     02E3   630 ;

                                     02E3   631 ; INPUTS:

                                     02E3   632 ;

                                     02E3   633 ;	NONE.

                                     02E3   634 ;

                                     02E3   635 ; OUTPUTS:

                                     02E3   636 ;

                                     02E3   637 ;	R1 = LENGTH OF USER IDENTIFICATION CODE.

                                     02E3   638 ;	R2 = ADDRESS OF USER IDENTIFICATION CODE.

                                     02E3   639 ;-

                                     02E3   640  

                                     02E3   641 F$USER:					;RETURN USER IDENTIFICATION CODE

                          59     DD  02E3   642 	PUSHL	R9			;SAVE POSITION IN OUTPUT BUFFER

            50         5B 8F     90  02E5   643 	MOVB	#^A/[/,R0		;GET LEFT BRACKET

                                     02E9   644 	PUTCHAR				;PUT CHARACTER IN OUTPUT BUFFER

                          7E     7C  02EC   645 	CLRQ	-(SP)			;CLEAR LAST ITEM AND LENGTH ADDRESS

                       F8 AE     9F  02EE   646 	PUSHAB	-8(SP)			;PUSH ADDRESS TO STORE USER IDENTIFICATION

                 03040004 8F     DD  02F1   647 	PUSHL	#JPI$_UIC@16+4		;SET PARAMETER ID AND LENGTH

            50            5E     D0  02F7   648 	MOVL	SP,R0			;SET ADDRESS OF TIME LIST

                                     02FA   649 	$GETJPI_S ITMLST=(R0)		;GET USER IDENTIFICATION CODE

            28            50     E9  030D   650 	BLBC	R0,30$			;IF LBC SERVICE FAILURE

            50         02 AE     3C  0310   651 	MOVZWL	2(SP),R0		;GET GROUP CODE

                          0061   30  0314   652 	BSBW	CBTA_OCT		;CONVERT GROUP CODE TO ASCII

            50            2C     9A  0317   653 	MOVZBL	#^A/,/,R0		;SET SEPARATOR CHARACTER

                                     031A   654 	PUTCHAR				;PUT CHARACTER IN COMMAND BUFFER

            50            6E     3C  031D   655 	MOVZWL	(SP),R0			;GET MEMBER CODE

                          0055   30  0320   656 	BSBW	CBTA_OCT		;CONVERT MEMBER CODE TO ASCII

            5E            10     C0  0323   657 	ADDL	#4*4,SP			;REMOVE ITEM LIST FROM STACK

            50         5D 8F     90  0326   658 	MOVB	#^A/]/,R0		;GET RIGHT BRACKET

                                     032A   659 	PUTCHAR				;PUT CHARACTER IN OUTPUT BUFFER

                          52   8ED0  032D   660 	POPL	R2			;RETRIEVE ADDRESS OF USER IDENTIFICATION CODE

            59            52     C3  0330   661 	SUBL3	R2,R9,R1		;CALCULATE LENGTH OF RESULTANT STRING

                          51         0333       

                                 05  0334   662 	RSB				;

                                     0335   663  

                                     0335   664 ;

                                     0335   665 ; BUFFER OVERFLOW

                                     0335   666 ;

                                     0335   667  

                                     0335   668 20$:	STATUS	BUFOVF			;SET BUFFER OVERFLOW STATUS

            56            59     D0  0338   669 30$:	MOVL	R9,R6			;SET FOR NO SEGMENT DISPLAY

                          006E   31  033B   670 	BRW	DCL$PARSERR		;

                                     033E   671 	.DSABL	LSB

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  19

01              RETURN VERIFY MODE                                                                                               (1)



                                     033E   673 	.SBTTL	RETURN VERIFY MODE

                                     033E   674 ;+

                                     033E   675 ; F$VERIFY - RETURN VERIFY MODE

                                     033E   676 ;

                                     033E   677 ; THIS LEXICAL FUNCTION RETURNS A BOOLEAN VARIABLE THAT DESCRIBES THE CURRENT

                                     033E   678 ; STATE OF THE VERIFY MODE.

                                     033E   679 ;

                                     033E   680 ;	F$VERIFY ()

                                     033E   681 ;

                                     033E   682 ; INPUTS:

                                     033E   683 ;

                                     033E   684 ;	NONE.

                                     033E   685 ;

                                     033E   686 ; OUTPUTS:

                                     033E   687 ;

                                     033E   688 ;	R1 = LENGTH OF BOOLEAN RESULT STRING.

                                     033E   689 ;	R2 = ADDRESS OF BOOLEAN RESULT STRING.

                                     033E   690 ;-

                                     033E   691  

                                     033E   692 F$VERIFY:				;RETURN VERIFY MODE

            52       FD12 CF     9E  033E   693 	MOVAB	TRUE,R2			;ASSUME VERIFY IN CURRENTLY ON

         54 AB            07     E0  0343   694 	BBS	#PRC_V_VERIFY,PRC_W_FLAGS(R11),10$ ;IF SET, VERIFY IS ON

                          05         0347       

            52       FCFB CF     9E  0348   695 	MOVAB	FALSE,R2		;GET ADDRESS OF FALSE STRING DESCRIPTOR

            51            01     9A  034D   696 10$:	MOVZBL	#1,R1			;SET LENGTH OF RESULT STRING

                                 05  0350   697 	RSB				;

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  20

01              LOCAL SUBROUTINES                                                                                                (1)



                                     0351   699 	.SBTTL	LOCAL SUBROUTINES

                                     0351   700 ;+

                                     0351   701 ; CATB - CONVERT ASCII VALUE TO BINARY

                                     0351   702 ;

                                     0351   703 ; THIS ROUTINE CONVERTS AN ASCII VALUE TO A BINARY VALUE. IF ALL CHARACTERS ARE

                                     0351   704 ; NOT CONVERTED, THEN A SPECIAL CHECK IS MADE FOR BOOLEAN VARIABLES.

                                     0351   705 ;

                                     0351   706 ; INPUTS:

                                     0351   707 ;

                                     0351   708 ;	R2 = LENGTH OF STRING TO BE CONVERTED.

                                     0351   709 ;	R3 = ADDRESS OF STRING TO BE CONVERTED.

                                     0351   710 ;

                                     0351   711 ; OUTPUTS:

                                     0351   712 ;

                                     0351   713 ;	R1 = CONVERTED VALUE.

                                     0351   714 ;-

                                     0351   715  

                                     0351   716 CATB:					;CONVERT ASCII TO BINARY

            7E            52     7D  0351   717 	MOVQ	R2,-(SP)		;SAVE STRING PARAMETERS

                                     0354   718 	CNVNUMDEC			;CONVERT DECIMAL NUMBER

                          0F     13  0357   719 	BEQL	10$			;IF EQL SUCCESSFUL CONVERSION

            52            6E     7D  0359   720 	MOVQ	(SP),R2			;RETRIEVE STRING PARAMETERS

            04            63     3A  035C   721 	LOCC	(R3),#4,TRUFLS		;SEARCH FOR BOOLEAN VARIABLE MATCH

                     FCF3 CF         035F       

                          08     13  0362   722 	BEQL	20$			;IF EQL ERROR

            50            06     CB  0364   723 	BICL3	#6,R0,R1		;CONVERT COUNT TO BOOLEAN VALUE

                          51         0367       

            52            8E     7D  0368   724 10$:	MOVQ	(SP)+,R2		;RETRIEVE STRING PARAMETERS

                                 05  036B   725 	RSB				;

                                     036C   726  

                                     036C   727 ;

                                     036C   728 ; INVALID STRING CHARACTER

                                     036C   729 ;

                                     036C   730  

            55            8E     7D  036C   731 20$:	MOVQ	(SP)+,R5		;RETRIEVE STRING PARAMETERS

            56            55     C1  036F   732 	ADDL3	R5,R6,R9		;SET ENDING ADDRESS OF DISPLAY SEGMENT

                          59         0372       

                                     0373   733 	STATUS	IVCHAR			;SET INVALID CHARACTER STATUS

                          34     11  0376   734 	BRB	DCL$PARSERR		;

                                     0378   735  

                                     0378   736 ;

                                     0378   737 ; CBTA_DEC - CONVERT BINARY TO ASCII BASE TEN

                                     0378   738 ; CBTA_OCT - CONVERT BINARY TO ASCII BASE EIGHT

                                     0378   739 ;

                                     0378   740 ; THESE ROUTINES ARE CALLED TO CONVERT A BINARY NUMBER TO A LEFT JUSTIFIED, ZERO

                                     0378   741 ; SUPRESSED, ASCII STRING.

                                     0378   742 ;

                                     0378   743 ; INPUTS:

                                     0378   744 ;

                                     0378   745 ;	R0 = NUMBER TO BE CONVERTED.

                                     0378   746 ;

                                     0378   747 ; OUTPUTS:

                                     0378   748 ;

                                     0378   749 ;	R1 = LENGTH OF CONVERTED VALUE.

                                     0378   750 ;	R2 = ADDRESS OF CONVERTED VALUE.

                                     0378   751 ;-

                                     0378   752  

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  21

01              LOCAL SUBROUTINES                                                                                                (1)



                                     0378   753 	.ENABL	LSB

                                     0378   754 CBTA_OCT:				;CONVERT BINARY TO ASCII BASE EIGHT

            53            08     9A  0378   755 	MOVZBL	#8,R3			;SET CONVERSION RADIX

                          03     11  037B   756 	BRB	10$			;

                                     037D   757 CBTA_DEC:				;CONVERT BINARY TO ASCII BASE TEN

            53            0A     9A  037D   758 	MOVZBL	#10,R3			;SET CONVERSION RADIX

            52            59     D0  0380   759 10$:	MOVL	R9,R2			;SAVE STARTING ADDRESS OF CONVERSION STRING

                          51     D4  0383   760 20$:	CLRL	R1			;CLEAR HIGH PART OF DIVIDEND

            50            53     7B  0385   761 	EDIV	R3,R0,R0,R1		;ISOLATE NEXT DIGIT

            51            50         0388       

            51            30     C1  038A   762 	ADDL3	#^A/0/,R1,-(SP)		;CONVERT DIGIT TO ASCII AND SAVE

                          7E         038D       

                          50     D5  038E   763 	TSTL	R0			;ANY MORE DIGITS TO CONVERT?

                          02     13  0390   764 	BEQL	30$			;IF EQL NO

                          EF     10  0392   765 	BSBB	20$			;CONVERT NEXT DIGIT

                          50   8ED0  0394   766 30$:	POPL	R0			;RETRIEVE NEXT CHARACTER

                                     0397   767 	PUTCHAR				;PUT CHARACTER IN OUTPUT BUFFER

            59            52     C3  039A   768 	SUBL3	R2,R9,R1		;CALCULATE LENGTH OF RESULTANT STRING

                          51         039D       

                                 05  039E   769 	RSB				;

                                     039F   770 	.DSABL	LSB

                                     039F   771  

                                     039F   772 ;

                                     039F   773 ; SKIP_SPACES - SKIP BLANKS AND TABS

                                     039F   774 ;

                                     039F   775 ; THIS ROUTINE SKIPS OVER BLANKS AND TABS IN THE INPUT BUFFER UPDATING THE INPUT

                                     039F   776 ; BUFFER POINTER AS APPROPRIATE.

                                     039F   777 ;

                                     039F   778 ; INPUTS:

                                     039F   779 ;

                                     039F   780 ;	R10 = INPUT BUFFER POINTER.

                                     039F   781 ;

                                     039F   782 ; OUTPUTS:

                                     039F   783 ;

                                     039F   784 ;	R10 = ADDRESS OF NEXT NONBLANK, NONTAB CHARACTER IN THE INPUT BUFFER.

                                     039F   785 ;-

                                     039F   786  

                                     039F   787 	.ENABL	LSB

                          5A     D6  039F   788 10$:	INCL	R10			;ADVANCE TO NEXT CHARACTER

                                     03A1   789 SKIP_SPACES:				;

            6A            20     91  03A1   790 	CMPB	#^A/ /,(R10)		;NEXT CHARACTER A BLANK?

                          F9     13  03A4   791 	BEQL	10$			;IF EQL YES

            6A            09     91  03A6   792 	CMPB	#^A/	/,(R10)		;NEXT CHARACTER A TAB?

                          F4     13  03A9   793 	BEQL	10$			;IF EQL YES

                                 05  03AB   794 	RSB				;

                                     03AC   795 	.DSABL	LSB

                                     03AC   796  

                                     03AC   797 ;

                                     03AC   798 ; ERROR EXIT FROM LEXICAL FUNCTION STRING EXPANSION

                                     03AC   799 ;

                                     03AC   800  

                                     03AC   801 DCL$PARSERR::				;

         FC AD            7A     9E  03AC   802 	MOVAB	-(R10),WRK_L_CHARPTR(FP) ;SET CHARACTER POINTER FOR ERROR MESSAGE

                                     03B0   803 	ERRMSG				;OUTPUT ERROR MESSAGE

                          50     DD  03B3   804 	PUSHL	R0			;SAVE FINAL STATUS

                                     03B5   805 	FLUSH				;FLUSH COMMAND

                          50   8ED0  03B8   806 	POPL	R0			;RETRIEVE FINAL STATUS

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  22

01              LOCAL SUBROUTINES                                                                                                (1)



                                     03BB   807 	SET_STATUS			;SET COMMAND STATUS

                          FC3F'  31  03BE   808 	BRW	DCL$RESTART		;

                                     03C1   809  

                                     03C1   810 	.END

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  23

SYMBOL TABLE                                                                                                                     (1)



$$T1           = 00000001            CLI$_NULFIL    = 000380E0            JPI$C_ADRTYPE  = 00000001            

$XX$           = 00000000            CLI$_NUMBER    = 000380E8            JPI$C_CTLTYPE  = 00000002            

$ZZ$           = 00000004            CLI$_ONCOMD    = 000380F0            JPI$C_LISTEND  = 00000000            

BATCH            00000041 R     03   CLI$_ONERR     = 000380F8            JPI$C_PCBTYPE  = 00000003            

BIT...         = 00000103            CLI$_ONEVAL    = 00038158            JPI$C_PHDTYPE  = 00000004            

CATB             00000351 R     03   CLI$_ONLEVL    = 00038100            JPI$_ACCOUNT   = 00000203            

CBTA_DEC         0000037D R     03   CLI$_ONOVF     = 00038108            JPI$_APTCNT    = 0000030A            

CBTA_OCT         00000378 R     03   CLI$_OVRFLW    = 00038160            JPI$_ASTACT    = 00000300            

CLI$_ABFNAM    = 000381B8            CLI$_PARMDEL   = 00038110            JPI$_ASTCNT    = 0000030E            

CLI$_ABKEYW    = 00038000            CLI$_PROC_ID   = 0003FFF1            JPI$_ASTEN     = 00000301            

CLI$_ABVERB    = 00038008            CLI$_QUEJOBCRE = 0003FFF9            JPI$_ASTLM     = 00000409            

CLI$_BADRET    = 00038198            CLI$_REQPRMABS = 00038812            JPI$_BIOCNT    = 0000030F            

CLI$_BADTEXT   = 000381B0            CLI$_RSLOVF    = 00038118            JPI$_BIOLM     = 00000310            

CLI$_BUFOVF    = 00038018            CLI$_SKPDAT    = 00038120            JPI$_BUFIO     = 0000040C            

CLI$_COMPLX    = 00038020            CLI$_SPARE0    = 00038010            JPI$_BYTCNT    = 00000311            

CLI$_CONFQUAL  = 00038802            CLI$_SPARE1    = 00038058            JPI$_BYTLM     = 0000031A            

CLI$_CREQUEJOB = 0003884A            CLI$_STKOVF    = 00038128            JPI$_CPULIM    = 0000040D            

CLI$_DEFOVF    = 00038028            CLI$_SUBMITERR = 00038852            JPI$_CPUTIM    = 00000407            

CLI$_DEVALSPL  = 0003885A            CLI$_SYMDEL    = 00038130            JPI$_CURPRIV   = 00000400            

CLI$_DEVNOTFOR = 0003887A            CLI$_SYMOVF    = 00038138            JPI$_DFPFC     = 00000406            

CLI$_DEVNOTSPL = 00038862            CLI$_UNDFIL    = 00038188            JPI$_DFWSCNT   = 00000403            

CLI$_DIRECT    = 00038030            CLI$_UNDSYM    = 00038140            JPI$_DIOCNT    = 00000312            

CLI$_EXPSYN    = 00038038            CLI$_UNPROPARM = 00038170            JPI$_DIOLM     = 00000313            

CLI$_FILOPN    = 00038190            CLI$_UNPROQUAL = 00038168            JPI$_DIRIO     = 0000040B            

CLI$_ILLVAL    = 0003883A            CLI$_USGOTO    = 00038148            JPI$_EFCS      = 00000317            

CLI$_IMCHNG    = 00038040            CLI$_VALCNVERR = 00038832            JPI$_EFCU      = 00000318            

CLI$_IMGFNF    = 00038872            CLI$_VALREQ    = 00038150            JPI$_EFWM      = 00000316            

CLI$_INSFPRM   = 00038048            CMDBUFSIZ      = 000001FC            JPI$_EXCVEC    = 00000100            

CLI$_INVKEY    = 00038178            DCL$CNVNUMDEC    ********   X   03   JPI$_FILCNT    = 00000314            

CLI$_INVQUAL   = 0003880A            DCL$COMPSTRING   ********   X   03   JPI$_FILLM     = 0000040F            

CLI$_INVQUALNUM= 0003881A            DCL$ERRORMSG     ********   X   03   JPI$_FINALEXC  = 00000101            

CLI$_INVREQTYP = 00038822            DCL$FLUSH        ********   X   03   JPI$_FREP0VA   = 00000404            

CLI$_INVRSP    = 00038180            DCL$GETXSYM      ********   X   03   JPI$_FREP1VA   = 00000405            

CLI$_INVUIC    = 000381A8            DCL$LEXIF        00000059 RG    03   JPI$_GPGCNT    = 0000030C            

CLI$_IVCHAR    = 00038050            DCL$PARSERR      000003AC RG    03   JPI$_GRP       = 00000308            

CLI$_IVDEVTYPE = 0003886A            DCL$PUTCHAR      ********   X   03   JPI$_LASTADR   = 00000102            

CLI$_IVFNAM    = 000381C0            DCL$RESTART      ********   X   03   JPI$_LASTCTL   = 00000207            

CLI$_IVKEYW    = 00038060            DCL$SEARCH       ********   X   03   JPI$_LASTPCB   = 0000031D            

CLI$_IVOPER    = 00038068            DCL$SET_STATUS   ********   X   03   JPI$_LASTPHD   = 00000412            

CLI$_IVPROT    = 00038070            DISPATCH         00000122 R     03   JPI$_LOGINTIM  = 00000206            

CLI$_IVQLOC    = 00038078            F$CVSINTEGER     00000143 R     03   JPI$_MEM       = 00000307            

CLI$_IVSYMB    = 00038080            F$CVUINTEGER     00000147 R     03   JPI$_OWNER     = 00000303            

CLI$_IVVALU    = 00038088            F$DIRECTORY      000001A6 R     03   JPI$_PAGEFLTS  = 0000040A            

CLI$_IVVERB    = 00038090            F$EXTRACT        000001B1 R     03   JPI$_PGFLQUOTA = 0000040E            

CLI$_MAXPARM   = 00038098            F$LENGTH         000001DE R     03   JPI$_PID       = 00000319            

CLI$_MULKEY    = 000381A0            F$LOCATE         000001E4 R     03   JPI$_PPGCNT    = 0000030D            

CLI$_NOATFIL   = 000380A0            F$LOGICAL        000001FE R     03   JPI$_PRCCNT    = 0000031B            

CLI$_NOCCAT    = 000380A8            F$MESSAGE        0000023F R     03   JPI$_PRCLM     = 00000408            

CLI$_NOCOMD    = 000380B0            F$MODE           00000275 R     03   JPI$_PRCNAM    = 0000031C            

CLI$_NOKEYW    = 000380B8            F$PROCESS        00000288 R     03   JPI$_PRI       = 00000302            

CLI$_NOLIST    = 000380C0            F$TIME           000002BF R     03   JPI$_PRIB      = 00000309            

CLI$_NOOPTPRS  = 00038842            F$USER           000002E3 R     03   JPI$_PROCPRIV  = 00000204            

CLI$_NOQUAL    = 000380C8            F$VERIFY         0000033E R     03   JPI$_STATE     = 00000306            

CLI$_NORMAL    = 00030001            FALSE            00000047 R     03   JPI$_STS       = 00000305            

CLI$_NOTNEG    = 000380D8            GBL...         = 00000000            JPI$_TMBU      = 0000030B            

CLI$_NOVALU    = 000380D0            INPBUFSIZ      = 00000084            JPI$_TQCNT     = 00000315            

CLI$_NOVALUE   = 0003882A            INTERACTIVE      00000048 R     03   JPI$_TQLM      = 00000410            

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  24

SYMBOL TABLE                                                                                                                     (1)



JPI$_UIC       = 00000304            PRC_M_GOTO     = 00000010            WRK_L_RSLNXT     FFFFFD34            

JPI$_USERNAME  = 00000202            PRC_M_HANGUP   = 00001000            WRK_L_SAVAP      FFFFFFC8            

JPI$_VIRTPEAK  = 00000200            PRC_M_IND      = 00000020            WRK_L_SAVFP      FFFFFFCC            

JPI$_VOLUMES   = 00000205            PRC_M_MODE     = 00000040            WRK_L_SAVSP      FFFFFFC4            

JPI$_WSAUTH    = 00000401            PRC_M_NOCTLY   = 00004000            WRK_M_COMMAND  = 00000002            

JPI$_WSPEAK    = 00000201            PRC_M_PAUSE    = 00002000            WRK_M_IMCHNG   = 00000004            

JPI$_WSQUOTA   = 00000402            PRC_M_USRDET   = 00000100            WRK_M_INQUIRE  = 00000100            

JPI$_WSSIZE    = 00000411            PRC_M_VERIFY   = 00000080            WRK_M_NOSTAT   = 00000200            

LXFUNTABLE       00000000 R     03   PRC_M_YLEVEL   = 00000800            WRK_M_PROMPT   = 00000008            

LXFUNTABLEN    = 00000041            PRC_Q_ALLOCREG   00000020            WRK_M_QUAL     = 00000010            

MSGBUFSIZ      = 00000084            PRC_Q_GLOBAL     00000028            WRK_M_QUOTE    = 00000020            

P1             = 00000004            PRC_Q_LABEL      00000030            WRK_M_RUNDWN   = 00000001            

P2             = 0000000C            PRC_Q_LOCAL      00000038            WRK_M_STAR     = 00000040            

P3             = 00000014            PRC_V_CNTRLY   = 00000001            WRK_M_TRAILSPC = 00000400            

PIO$GT_DDSTRING  ********   X   03   PRC_V_DBGQUAL  = 00000009            WRK_M_VERB     = 00000080            

PRC_B_DEFRADIX   00000092            PRC_V_DBGTRUE  = 0000000A            WRK_Q_IOSB       FFFFFFD4            

PRC_B_EXMDEPMOD  00000091            PRC_V_DISABL   = 00000002            WRK_V_COMMAND  = 00000001            

PRC_B_EXMDEPWID  00000090            PRC_V_EXIT     = 00000003            WRK_V_IMCHNG   = 00000002            

PRC_K_DEC      = 00000001            PRC_V_GOEOF    = 00000000            WRK_V_INQUIRE  = 00000008            

PRC_K_HEX      = 00000000            PRC_V_GOTO     = 00000004            WRK_V_NOSTAT   = 00000009            

PRC_K_LENGTH     000000A0            PRC_V_HANGUP   = 0000000C            WRK_V_PROMPT   = 00000003            

PRC_K_OCT      = 00000002            PRC_V_IND      = 00000005            WRK_V_QUAL     = 00000004            

PRC_L_CLIWRK0    0000005C            PRC_V_MODE     = 00000006            WRK_V_QUOTE    = 00000005            

PRC_L_CLIWRK1    00000060            PRC_V_NOCTLY   = 0000000E            WRK_V_RUNDWN   = 00000000            

PRC_L_CLIWRK2    00000064            PRC_V_PAUSE    = 0000000D            WRK_V_STAR     = 00000006            

PRC_L_CLIWRK3    00000068            PRC_V_USRDET   = 00000008            WRK_V_TRAILSPC = 0000000A            

PRC_L_CLIWRK4    0000006C            PRC_V_VERIFY   = 00000007            WRK_V_VERB     = 00000007            

PRC_L_ERRRAB     00000010            PRC_V_YLEVEL   = 0000000B            WRK_W_FLAGS      FFFFFFFA            

PRC_L_EXMDEPADR  0000008C            PRC_W_CLIFLAG    00000052            WRK_W_IMGCHAN    FFFFFFF8            

PRC_L_EXTARG     00000078            PRC_W_ERRIFI     00000052            _$$_           = 00000014            

PRC_L_EXTBLK     00000070            PRC_W_FLAGS      00000054            

PRC_L_EXTCOD     00000080            PRC_W_INPCHAN    00000050            

PRC_L_EXTHND     00000074            PRC_W_ONLEVEL    00000056            

PRC_L_EXTPRM     0000007C            RSLBUFSIZ      = 00000180            

PRC_L_INDEPTH    00000048            SKIP_SPACES      000003A1 R     03   

PRC_L_INDFAB     0000001C            SS$_NORMAL       ********   X   03   

PRC_L_INDINPRAB  00000014            SS$_NOTRAN       ********   X   03   

PRC_L_INDOUTRAB  00000018            SYS$ASCTIM       ********   X   03   

PRC_L_INPRAB     00000008            SYS$GETJPI       ********   X   03   

PRC_L_LSTSTATUS  00000094            SYS$GETMSG       ********   X   03   

PRC_L_ONCTLY     0000009C            SYS$TRNLOG       ********   X   03   

PRC_L_ONERROR    00000058            TRUE             00000054 R     03   

PRC_L_OUTRAB     0000000C            TRUFLS           00000055 R     03   

PRC_L_PROCUIC    00000098            WRK_AB_BUFFER    FFFFFD38            

PRC_L_SAVAP      00000000            WRK_AG_RESULT    FFFFFBB4            

PRC_L_SAVFP      00000004            WRK_B_VERBTYP    FFFFFFC0            

PRC_L_SEVERITY   00000040            WRK_K_LENGTH     FFFFFBB4            

PRC_L_STACKLM    00000088            WRK_L_CHARPTR    FFFFFFFC            

PRC_L_STACKPT    00000084            WRK_L_CMDOUT     FFFFFFBC            

PRC_L_STATUS     00000044            WRK_L_IMAGE      FFFFFFEC            

PRC_L_SYMBOL     0000004C            WRK_L_MAXPARM    FFFFFFE4            

PRC_M_CNTRLY   = 00000002            WRK_L_MINPARM    FFFFFFE8            

PRC_M_DBGQUAL  = 00000200            WRK_L_PARMCNT    FFFFFFF0            

PRC_M_DBGTRUE  = 00000400            WRK_L_PAROUT     FFFFFFF4            

PRC_M_DISABL   = 00000004            WRK_L_PROMPT     FFFFFFD0            

PRC_M_EXIT     = 00000008            WRK_L_PROPTR     FFFFFFDC            

PRC_M_GOEOF    = 00000001            WRK_L_QUABLK     FFFFFFE0            

LEXICON         - LEXICAL FUNCTION PARSE AND EXECUTION SUPPORT   22-AUG-1978 01:10:18   VAX-11 MACRO X0.3-11               Page  25

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





THERE WERE NO ERRORS OR WARNINGS.

15660. BYTES LEFT IN FREE MEMORY POOL.

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

37 MLB DIR RDS - 524 GETS TO DEFINE 31 MACROS. 43 INTER. FILE WRITES. 

