                                XPORT VAX/VMS DCL CLI Interface  4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 1
                                                                19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    0	      1 MODULE XDCL (	IDENT = 'X00.04',		%TITLE 'XPORT VAX/VMS DCL CLI Interface Routines'
    0	      2 		ADDRESSING_MODE( EXTERNAL=LONG_RELATIVE )
    0	      3 		) =
    0	      4 BEGIN
    1	      5 
    1	      6 !
    1	      7 !			  COPYRIGHT (c) 1979 BY
    1	      8 !	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
    1	      9 !
    1	     10 ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
    1	     11 ! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
    1	     12 ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
    1	     13 ! COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
    1	     14 ! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
    1	     15 ! TRANSFERRED.
    1	     16 !
    1	     17 ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
    1	     18 ! AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
    1	     19 ! CORPORATION.
    1	     20 !
    1	     21 ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
    1	     22 ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
    1	     23 !
    1	     24 
    1	     25 !++
    1	     26 !
    1	     27 ! FACILITY:  BLISS Library
    1	     28 !
    1	     29 ! ABSTRACT:
    1	     30 !
    1	     31 !	This module consists of general purpose VMS DCL CLI interface routines.
    1	     32 !
    1	     33 ! ENVIRONMENT:  User mode - VAX/VMS host system
    1	     34 !
    1	     35 ! AUTHOR:  Ward Clark,	CREATION DATE:  26 June 1979
    1	     36 !
    1	     37 !--

XDCL                            XPORT VAX/VMS DCL CLI Interface  4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 2
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    1	     39 !
    1	     40 ! TABLE OF CONTENTS:
    1	     41 !
    1	     42 
    1	     43 FORWARD ROUTINE
    1	     44     xpo$char_parse :  NOVALUE,				! Character value parsing routine
    1	     45     xpo$short_parse :  NOVALUE,				! Short integer parsing routine
    1	     46     xpo$str_parse :  NOVALUE,				! Quoted string parsing routine
    1	     47     xpo$cli_error :  NOVALUE;				! General purpose CLI error action routine
    1	     48 
    1	     49 !
    1	     50 ! INCLUDE FILES:
    1	     51 !
    1	     52 
    1	     53 LIBRARY  'XPORT' ;					! Public XPORT control block and macro definitions
    1	     55 LIBRARY  'XPOSYS' ;					! Internal XPORT macro definitions
    1	     57 
    1	     58     $XPO_SYS_TEST( $VMS )
		; %PRINT:		This module was compiled for VAX/VMS
		; %PRINT:		XPORT V1.3-51    XPOSYS V1.3-16    XPO$K_VERSION = 1    XPO$K_LEVEL = 3
    1	     59 
    1	     60 LIBRARY  'SYS$LIBRARY:CLIMAC' ;				! VMS DCL CLI interface macros
    1	     62 REQUIRE  'XVMS' ;					!    and symbol definitions
    1	     92 
    1	     93 !
    1	     94 ! MACROS:
    1	     95 !
    1	     96 
    1	     97 !
    1	     98 ! EQUATED SYMBOLS:
    1	     99 !
    1	    100 
    1	    101 !
    1	    102 ! PSECT DECLARATIONS:
    1	    103 !
    1	    104 
    1	    105     $XPO_PSECTS						! Declare XPORT PSECT names and attributes
    1	    106 
    1	    107 !
    1	    108 ! OWN STORAGE:
    1	    109 !
    1	    110 
    1	    111 GLOBAL
    1	    112     xpo$cli_work :  VECTOR[ CLI$C_WORKAREA, BYTE ];	! DCL CLI work area
    1	    113 
    1	    114 OWN
    1	    115     numb_parse_desc :					! Numeric value parse request descriptor:
    1	    116 	$CLIREQDESC( RQTYPE = NUMERVAL,			!    numeric value parse indicator
P   1	    117 		RQFLGS = <LASTVAL,ABSADR>,		!    single value and absolute address indicators
P   1	    118 		ERRACT = xpo$cli_error ),		!    address of error action routine
    1	    119 
    1	    120     str_parse_desc :					! ASCII string parse request descriptor:
    1	    121 	$CLIREQDESC( RQTYPE = ASCIIVAL,			!    ASCII string parse indicator
P   1	    122 		RQFLGS = ABSADR,			!    absolute address indicator
P   1	    123 		ERRACT = xpo$cli_error );		!    address of error action routine
    1	    124 
    1	    125 !

XDCL                            XPORT VAX/VMS DCL CLI Interface  4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 3
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    1	    126 ! EXTERNAL REFERENCES:
    1	    127 !

XDCL                            XPORT DCL Character Value Parse  4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 4
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    1	    129 						%TITLE 'XPORT DCL Character Value Parser'
    1	    130 GLOBAL ROUTINE xpo$char_parse( qualifier_desc ) :  NOVALUE =
    1	    131 
    1	    132 !++
    1	    133 !
    1	    134 ! FUNCTIONAL DESCRIPTION:
    1	    135 !
    1	    136 !	This routine parses a single character qualifier value and saves the value
    1	    137 !	in the area pointed to by the qualifier descriptor.
    1	    138 !
    1	    139 ! FORMAL PARAMETERS:
    1	    140 !
    1	    141 !	qualifier_desc.r.r - address of a qualifier descriptor
    1	    142 !
    1	    143 ! IMPLICIT INPUTS:
    1	    144 !
    1	    145 !	numb_parse_desc - DCL CLI value parsing request descriptor
    1	    146 !
    1	    147 ! IMPLICIT OUTPUTS:
    1	    148 !
    1	    149 !	character value saved at ".qualifier_desc[CLI$L_USRVAL]"
    1	    150 !
    1	    151 ! ROUTINE VALUE:
    1	    152 !
    1	    153 !	None
    1	    154 !
    1	    155 ! SIDE EFFECTS:
    1	    156 !
    1	    157 !	None
    1	    158 !
    1	    159 !--
    1	    160 
    1	    161     BEGIN
    2	    162 
    2	    163     MAP
    2	    164 	qualifier_desc :  REF BLOCK[,BYTE];		! Redefine the qualifier descriptor parameter
    2	    165 
    2	    166     BIND
    2	    167 	deposit_area =					! Define the value deposit area
    2	    168 	    .qualifier_desc[CLI$L_USRVAL] :  BYTE;
    2	    169 
    2	    170 !
    2	    171 ! Parse a qualifier character value of the form "c".
    2	    172 !
    2	    173 
    2	    174     IF .qualifier_desc[CLI$W_QDVALSIZ] EQL 1
    2	    175     THEN
    2	    176 	deposit_area =					! Save the character value.
    2	    177 		CH$RCHAR( .qualifier_desc[CLI$A_QDVALADR] )
    2	    178 
    2	    179 !
    2	    180 ! Parse a qualifier numeric value of the form 123, %X1FF or %O377.
    2	    181 !
    2	    182 
    2	    183     ELSE
    2	    184 	BEGIN
    3	    185 	$XPO_CALL_CLI( numb_parse_desc, xpo$cli_work, .qualifier_desc );

XDCL                            XPORT DCL Character Value Parse  4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 5
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    3	    186 
    3	    187 	deposit_area = .numb_parse_desc[CLI$L_RQVALU];	! Save the character value.
    3	    188 	END;
    2	    189 
    2	    190 !
    2	    191 ! Return to the CLI.
    2	    192 !
    2	    193 
    2	    194     RETURN
    2	    195 
    2	    196     END;

XDCL                            XPORT DCL Numeric Value Parser   4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 6
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    1	    198 						%TITLE 'XPORT DCL Numeric Value Parser'
    1	    199 GLOBAL ROUTINE xpo$short_parse( qualifier_desc ) :  NOVALUE =
    1	    200 
    1	    201 !++
    1	    202 !
    1	    203 ! FUNCTIONAL DESCRIPTION:
    1	    204 !
    1	    205 !	This routine parses a single numeric qualifier value and saves the value
    1	    206 !	in a 2-byte area pointed to by the qualifier descriptor.
    1	    207 !
    1	    208 ! FORMAL PARAMETERS:
    1	    209 !
    1	    210 !	qualifier_desc.r.r - address of a qualifier descriptor
    1	    211 !
    1	    212 ! IMPLICIT INPUTS:
    1	    213 !
    1	    214 !	numb_parse_desc - DCL CLI value parsing request descriptor
    1	    215 !
    1	    216 ! IMPLICIT OUTPUTS:
    1	    217 !
    1	    218 !	numeric value saved at ".qualifier_desc[CLI$L_USRVAL]"
    1	    219 !
    1	    220 ! ROUTINE VALUE:
    1	    221 !
    1	    222 !	None
    1	    223 !
    1	    224 ! SIDE EFFECTS:
    1	    225 !
    1	    226 !	None
    1	    227 !
    1	    228 !--
    1	    229 
    1	    230     BEGIN
    2	    231 
    2	    232     MAP
    2	    233 	qualifier_desc :  REF BLOCK[,BYTE];		! Redefine the qualifier descriptor parameter
    2	    234 
    2	    235     BIND
    2	    236 	deposit_area =					! Define the value deposit area
    2	    237 	    .qualifier_desc[CLI$L_USRVAL] :  WORD;
    2	    238 
    2	    239 !
    2	    240 ! Parse a qualifier numeric value of the form 123, %X1FF or %O377.
    2	    241 !
    2	    242 
    2	    243     $XPO_CALL_CLI( numb_parse_desc, xpo$cli_work, .qualifier_desc );
    2	    244 
    2	    245     deposit_area = .numb_parse_desc[CLI$L_RQVALU];	! Save the character value.
    2	    246 
    2	    247 !
    2	    248 ! Return to the CLI.
    2	    249 !
    2	    250 
    2	    251     RETURN
    2	    252 
    2	    253     END;

XDCL                            XPORT DCL String Value Parser    4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 7
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    1	    255 						%TITLE 'XPORT DCL String Value Parser'
    1	    256 GLOBAL ROUTINE xpo$str_parse( qualifier_desc ) :  NOVALUE =
    1	    257 
    1	    258 !++
    1	    259 !
    1	    260 ! FUNCTIONAL DESCRIPTION:
    1	    261 !
    1	    262 !	This routine parses a single ASCII string qualifier value and sets up
    1	    263 !	a string descriptor in an area pointed to by the qualifier descriptor.
    1	    264 !
    1	    265 ! FORMAL PARAMETERS:
    1	    266 !
    1	    267 !	qualifier_desc.r.r - address of a qualifier descriptor
    1	    268 !
    1	    269 ! IMPLICIT INPUTS:
    1	    270 !
    1	    271 !	str_parse_desc - DCL CLI string parsing request descriptor
    1	    272 !
    1	    273 ! IMPLICIT OUTPUTS:
    1	    274 !
    1	    275 !	string descriptor at ".qualifier_desc[CLI$L_USRVAL]" is set up
    1	    276 !
    1	    277 ! ROUTINE VALUE:
    1	    278 !
    1	    279 !	None
    1	    280 !
    1	    281 ! SIDE EFFECTS:
    1	    282 !
    1	    283 !	None
    1	    284 !
    1	    285 !--
    1	    286 
    1	    287     BEGIN
    2	    288 
    2	    289     MAP
    2	    290 	qualifier_desc :  REF BLOCK[,BYTE];		! Redefine the qualifier descriptor parameter
    2	    291 
    2	    292     BIND
    2	    293 	string_desc =					! Define the string descriptor
    2	    294 	    .qualifier_desc[CLI$L_USRVAL] :  $STR_DESCRIPTOR();
    2	    295 
    2	    296 !
    2	    297 ! Parse a quoted or unquoted ASCII string.
    2	    298 !
    2	    299 
    2	    300     $XPO_CALL_CLI( str_parse_desc, xpo$cli_work, .qualifier_desc );
    2	    301 
    2	    302     $STR_DESC_INIT( DESCRIPTOR = string_desc,		! Setup the string descriptor.
P   2	    303 	STRING = ( .str_parse_desc[CLI$W_RQSIZE],
P   2	    304 		    .str_parse_desc[CLI$A_RQADDR] ) );
    2	    305 
    2	    306 !
    2	    307 ! Return to the CLI.
    2	    308 !
    2	    309 
    2	    310     RETURN
    2	    311 

XDCL                            XPORT DCL String Value Parser    4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 8
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    2	    312     END;

XDCL                            XPORT DCL CLI Error Action Rout  4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 9
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

    1	    314 						%TITLE 'XPORT DCL CLI Error Action Routine'
    1	    315 GLOBAL ROUTINE xpo$cli_error( cli_block, error_number ) :  NOVALUE =
    1	    316 
    1	    317 !++
    1	    318 !
    1	    319 ! FUNCTIONAL DESCRIPTION:
    1	    320 !
    1	    321 !	This DCL CLI error action routine sends a CLI error message to the user.
    1	    322 !
    1	    323 ! FORMAL PARAMETERS:
    1	    324 !
    1	    325 !	cli_block.ra.v - address of the associated CLI control block
    1	    326 !	error_number - CLI error number
    1	    327 !
    1	    328 ! IMPLICIT INPUTS:
    1	    329 !
    1	    330 !	None
    1	    331 !
    1	    332 ! IMPLICIT OUTPUTS:
    1	    333 !
    1	    334 !	None
    1	    335 !
    1	    336 ! ROUTINE VALUE:
    1	    337 !
    1	    338 !	None
    1	    339 !
    1	    340 ! SIDE EFFECTS:
    1	    341 !
    1	    342 !	None
    1	    343 !
    1	    344 !--
    1	    345 
    1	    346     BEGIN
    2	    347 
    2	    348     MAP
    2	    349 	cli_block :  REF BLOCK[,BYTE];			! Redefine the CLI control block parameter
    2	    350 
    2	    351 !
    2	    352 ! Send the user a "syntax error" message and terminate program execution.
    2	    353 !
    2	    354 
    2	    355     SIGNAL_STOP( CLI$_SYNTAX,				! Signal "syntax error" with the following extra arguments:
    2	    356 		1,					!    number of message arguments
    2	    357 		cli_block[CLI$Q_RQDESC],		!    address of command segment string descriptor
    2	    358 		.error_number )				!    DCL CLI error number (secondary message)
    2	    359 
    2	    360     END;
    1	    361 END
    1	    362 ELUDOM

XDCL                            Machine Code Listing             4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 10
X00.04                                                          19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

				      .psect _XPO$CODE, CON, LCL, SHR, EXE, NOWRT, NOVEC
				      .proc   XPO$CHAR_PARSE
				      .align 32
				      .global  XPO$CHAR_PARSE
			XPO$CHAR_PARSE:											   // 000130
			   { .mii 
002C00E22B00     0000		      alloc   r44 = rspfs, 1, 13, 3, 0
0000B20000C0     0001		      sxt4    r3 = QUALIFIER_DESC		// r3 = r32				   // 000168
000188000AC0     0002		      mov     r43 = br0 ;;								   // 000130
			   }
			   { .mii 
010800100B40     0010		      mov     r45 = r1
0108003080C0     0011		      adds    r3 = 4, r3								   // 000174
000008000000     0012		      nop.i   0 ;;
			   }
			   { .mmi 
00A040320240     0020		      ld2     r9 = [r3], 16 ;;
00B0883E8200     0021		      ld4     r8 = [r3], -12								   // 000168
01CC30902000     0022		      cmp4.eq pr0, pr6 = 1, r9 ;;							   // 000174
			   }
			   { .mib 
000008000000     0030		      nop.m   0
0000B0800A00     0031		      sxt4    r40 = r8									   // 000168
008600008006     0032	       (pr6)  br.cond.dpnt.few L$7								   // 000174
			   }
			   { .mmi 
0080803000C0     0040		      ld4     r3 = [r3] ;;								   // 000177
000008000000     0041		      nop.m   0
0000B03000C0     0042		      sxt4    r3 = r3 ;;
			   }
			   { .mmi 
0080003000C0     0050		      ld1     r3 = [r3] ;;
008C02806000     0051		      st1     [r40] = r3								   // 000176
000008000000     0052		      nop.i   0
			   }
			   { .mfb 
000008000000     0060		      nop.m   0
000008000000     0061		      nop.f   0
00800000C000     0062		      br.sptk.few L$9 ;;								   // 000174
			   }
	         0070	L$7:												   // 000185
			   { .mii 
012000100A40     0070		      add     r41 = @ltoff(NUMB_PARSE_DESC), r1
012000006640     0071		      mov     r25 = 3
0000B2000C00     0072		      sxt4    r48 = QUALIFIER_DESC ;;		// r48 = r32
			   }
			   { .mmi 
0080C2900A40     0080		      ld8     r41 = NUMB_PARSE_DESC ;;		// r41 = [r41]
0119FA9002C0     0081		      adds    r11 = -128, r41
0000B2900B80     0082		      sxt4    r46 = r41 ;;
			   }
			   { .mib 
010802918A40     0090		      adds    r41 = 12, r41
0000B0B00BC0     0091		      sxt4    r47 = r11
00A000001000     0092		      br.call.sptk.many br0 = SYS$CLI ;;
			   }
			   { .mii 

XDCL                            Machine Code Listing             4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 11
X00.04                          XPO$CHAR_PARSE                  19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

008082900A40     00A0		      ld4     r41 = [r41]								   // 000187
010802D00040     00A1		      mov     r1 = r45									   // 000185
000008000000     00A2		      nop.i   0 ;;
			   }
			   { .mfi 
008C02852000     00B0		      st1     [r40] = r41								   // 000187
000008000000     00B1		      nop.f   0
000008000000     00B2		      nop.i   0
			   }
	         00C0	L$9:												   // 000174
			   { .mii 
000008000000     00C0		      nop.m   0
000154058000     00C1		      mov.i   rspfs = r44								   // 000194
000E00156000     00C2		      mov     br0 = r43 ;;
			   }
			   { .mfb 
000008000000     00D0		      nop.m   0
000008000000     00D1		      nop.f   0
000108001100     00D2		      br.ret.sptk.many br0 ;;
			   }
				      .endp   XPO$CHAR_PARSE

Routine Size: 224 bytes,    Routine Base: _XPO$CODE + 0000

				      .proc   XPO$SHORT_PARSE
				      .align 32
				      .global  XPO$SHORT_PARSE
			XPO$SHORT_PARSE:										   // 000199
			   { .mii 
002C00E22B00     00E0		      alloc   r44 = rspfs, 1, 13, 3, 0
012000100A00     00E1		      add     r40 = @ltoff(NUMB_PARSE_DESC), r1						   // 000243
0000B20000C0     00E2		      sxt4    r3 = QUALIFIER_DESC ;;		// r3 = r32				   // 000237
			   }
			   { .mii 
0108003280C0     00F0		      adds    r3 = 20, r3
000188000AC0     00F1		      mov     r43 = br0									   // 000199
012000006640     00F2		      mov     r25 = 3									   // 000243
			   }
			   { .mmi 
010800100B40     0100		      mov     r45 = r1									   // 000199
0080C2800A00     0101		      ld8     r40 = NUMB_PARSE_DESC		// r40 = [r40]				   // 000243
0000B2000C00     0102		      sxt4    r48 = QUALIFIER_DESC ;;		// r48 = r32
			   }
			   { .mii 
0080803000C0     0110		      ld4     r3 = [r3]									   // 000237
0119FA800200     0111		      adds    r8 = -128, r40								   // 000243
0000B2800B80     0112		      sxt4    r46 = r40 ;;
			   }
			   { .mii 
010802818A00     0120		      adds    r40 = 12, r40
0000B0300A40     0121		      sxt4    r41 = r3									   // 000237
0000B0800BC0     0122		      sxt4    r47 = r8									   // 000243
			   }
			   { .mfb 
000008000000     0130		      nop.m   0
000008000000     0131		      nop.f   0
00A000001000     0132		      br.call.sptk.many br0 = SYS$CLI ;;

XDCL                            Machine Code Listing             4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 12
X00.04                          XPO$SHORT_PARSE                 19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

			   }
			   { .mii 
008082800A00     0140		      ld4     r40 = [r40]								   // 000245
010802D00040     0141		      mov     r1 = r45									   // 000243
000008000000     0142		      nop.i   0 ;;
			   }
			   { .mii 
008C42950000     0150		      st2     [r41] = r40								   // 000245
000154058000     0151		      mov.i   rspfs = r44								   // 000251
000E00156000     0152		      mov     br0 = r43 ;;
			   }
			   { .mfb 
000008000000     0160		      nop.m   0
000008000000     0161		      nop.f   0
000108001100     0162		      br.ret.sptk.many br0 ;;
			   }
				      .endp   XPO$SHORT_PARSE

Routine Size: 144 bytes,    Routine Base: _XPO$CODE + 00E0

				      .proc   XPO$STR_PARSE
				      .align 32
				      .global  XPO$STR_PARSE
			XPO$STR_PARSE:											   // 000256
			   { .mii 
002C0122AC00     0170		      alloc   r48 = rspfs, 1, 17, 3, 0
012000100A00     0171		      add     r40 = @ltoff(STR_PARSE_DESC), r1						   // 000300
0000B20000C0     0172		      sxt4    r3 = QUALIFIER_DESC ;;		// r3 = r32				   // 000294
			   }
			   { .mii 
0108003280C0     0180		      adds    r3 = 20, r3
000188000BC0     0181		      mov     r47 = br0									   // 000256
012000006640     0182		      mov     r25 = 3									   // 000300
			   }
			   { .mmi 
010800100C40     0190		      mov     r49 = r1									   // 000256
0080C2800A00     0191		      ld8     r40 = STR_PARSE_DESC		// r40 = [r40]				   // 000300
0000B2000D00     0192		      sxt4    r52 = QUALIFIER_DESC ;;		// r52 = r32
			   }
			   { .mii 
0080803000C0     01A0		      ld4     r3 = [r3]									   // 000294
01200001CAC0     01A1		      mov     r43 = 14									   // 000304
012000002B40     01A2		      mov     r45 = 1 ;;
			   }
			   { .mii 
0119F28C8200     01B0		      adds    r8 = -156, r40								   // 000300
0000B03000C0     01B1		      sxt4    r3 = r3									   // 000294
0000B2800C80     01B2		      sxt4    r50 = r40 ;;								   // 000300
			   }
			   { .mib 
010800300A40     01C0		      mov     r41 = r3									   // 000292
0000B0800CC0     01C1		      sxt4    r51 = r8									   // 000300
00A000001000     01C2		      br.call.sptk.many br0 = SYS$CLI
			   }
			   { .mii 
010802810A00     01D0		      adds    r40 = 8, r40								   // 000304
010803100040     01D1		      mov     r1 = r49									   // 000300

XDCL                            Machine Code Listing             4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 13
X00.04                          XPO$STR_PARSE                   19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

000008000000     01D2		      nop.i   0 ;;
			   }
			   { .mii 
00A042808A80     01E0		      ld2     r42 = [r40], 4								   // 000304
010802904A40     01E1		      adds    r41 = 2, r41
000008000000     01E2		      nop.i   0 ;;
			   }
			   { .mmi 
00AC02956040     01F0		      st1     [r41] = r43, 1 ;;
00BC0A95BF40     01F1		      st1     [r41] = r45, -3
000008000000     01F2		      nop.i   0 ;;
			   }
			   { .mmi 
00AC42954100     0200		      st2     [r41] = r42, 4
008082800A00     0201		      ld4     r40 = [r40]
000008000000     0202		      nop.i   0 ;;
			   }
			   { .mii 
008C82950000     0210		      st4     [r41] = r40
000154060000     0211		      mov.i   rspfs = r48								   // 000310
000E0015E000     0212		      mov     br0 = r47 ;;
			   }
			   { .mfb 
000008000000     0220		      nop.m   0
000008000000     0221		      nop.f   0
000108001100     0222		      br.ret.sptk.many br0 ;;
			   }
				      .endp   XPO$STR_PARSE

Routine Size: 192 bytes,    Routine Base: _XPO$CODE + 0170

				      .proc   XPO$CLI_ERROR
				      .align 32
				      .global  XPO$CLI_ERROR
			XPO$CLI_ERROR:											   // 000315
			   { .mii 
002C005128C0     0230		      alloc   r35 = rspfs, 2, 3, 4, 0
000188000880     0231		      mov     r34 = br0
010800100900     0232		      mov     r36 = r1
			   }
			   { .mmi 
010802010800     0240		      adds    r32 = 8, r32
012000008640     0241		      mov     r25 = 4									   // 000355
0000B2100A00     0242		      sxt4    r40 = ERROR_NUMBER ;;		// r40 = r33
			   }
			   { .mii 
012000002980     0250		      mov     r38 = 1
0000B20009C0     0251		      sxt4    r39 = r32
012108CF0940     0252		      addl    r37 = 200952, r0
			   }
			   { .mfb 
000008000000     0260		      nop.m   0
000008000000     0261		      nop.f   0
00A000001000     0262		      br.call.sptk.many br0 = LIB$STOP ;;
			   }
			   { .mii 
010802400040     0270		      mov     r1 = r36

XDCL                            Machine Code Listing             4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 14
X00.04                          XPO$CLI_ERROR                   19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

000154046000     0271		      mov.i   rspfs = r35								   // 000360
000E00144000     0272		      mov     br0 = r34 ;;
			   }
			   { .mfb 
000008000000     0280		      nop.m   0
000008000000     0281		      nop.f   0
000108001100     0282		      br.ret.sptk.many br0 ;;
			   }
				      .endp   XPO$CLI_ERROR

Routine Size: 96 bytes,    Routine Base: _XPO$CODE + 0230

				       .psect _XPO$DATA, CON, LCL, NOSHR, NOEXE, WRT, NOVEC
				      .global XPO$CLI_WORK
				      .lcomm  XPO$CLI_WORK, 128, 16
				      .lcomm  NUMB_PARSE_DESC, 28, 16
				      .lcomm  STR_PARSE_DESC, 28, 16
				      .psect _XPO$DATA, CON, LCL, NOSHR, NOEXE, WRT, NOVEC
			NUMB_PARSE_DESC:
      40         0080		      data1   0x40 // data1 64
      00         0081		      data1   0x0 // data1 0
      03         0082		      data1   0x3 // data1 3
      00         0083		      data1   0x0 // data1 0
00000000         0084		      data4   XPO$CLI_ERROR
00000000         0088		      data4   0x0 // data4 0
00000000         008C		      data4   0x0 // data4 0
00000000         0090		      data4   0x0 // data4 0
00000000         0094		      data4   0x0 // data4 0
00000000         0098		      data4   0x0 // data4 0
			STR_PARSE_DESC:
      41         009C		      data1   0x41 // data1 65
      00         009D		      data1   0x0 // data1 0
      02         009E		      data1   0x2 // data1 2
      00         009F		      data1   0x0 // data1 0
00000000         00A0		      data4   XPO$CLI_ERROR
00000000         00A4		      data4   0x0 // data4 0
00000000         00A8		      data4   0x0 // data4 0
00000000         00AC		      data4   0x0 // data4 0
00000000         00B0		      data4   0x0 // data4 0
00000000         00B4		      data4   0x0 // data4 0
				      .section .data
				      .type   SYS$CLI, @function 
				      .global  SYS$CLI
				      .section .data
				      .type   SYS$CLI, @function 
				      .global  SYS$CLI
				      .section .data
				      .type   SYS$CLI, @function 
				      .global  SYS$CLI
				      .section .data
				      .type   LIB$STOP, @function 
				      .global  LIB$STOP


;				Library Statistics
;
;					     -------- Symbols --------	    Pages

                                Source Listing                   4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 15
                                                                19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

;	File				     Total    Loaded   Percent      Mapped
;
;  DISK$NORMS_OWN:[LASTOVICA.XPORT.VMSGEN]XPORT.L32;14
;					       590        57         9       270
;  DISK$NORMS_OWN:[LASTOVICA.XPORT.VMSGEN]XPOSYS.L32;14
;					        91         6         6        27
;  SYS$COMMON:[SYSLIB]CLIMAC.L32;1	        14         5        35        10
;  SYS$COMMON:[SYSLIB]STARLET.L32;1	     28352        15         0      2178




                                Source Listing                   4-FEB-2004 11:01:46  BLISS-32I T1.1-053                Page 16
                                Source Listing                  19-MAR-2002 10:12:05  [LASTOVICA.XPORT.VMSGEN]XDCL.B32;1

COMMAND LINE:

BLISSXDCL/VARIANT=3/LIST/DEBUG
