SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 1
X01-01                                                          28-MAY-2002 17:17:36  SETUSER.MAR;2

                      00000000	      1 	.TITLE SYS_SETUSER
                      00000000	      2 ;        .TITLE SYS_SET_USERNAME
                      00000000	      3 ;
                      00000000	      4         .IDENT /X01-001/
                      00000000	      5 ;
                      00000000	      6 ;       FACILITY:       SYS - General procedure library
                      00000000	      7 ;
                      00000000	      8 ;       ABSTRACT:       Rewrite current process's USERNAME
                      00000000	      9 ;
                      00000000	     10 ;       ENVIRONMENT:    User mode, calls kernel mode routine, requires
                      00000000	     11 ;                       user privelege CMKRNL
                      00000000	     12 ;
                      00000000	     13 ;
                      00000000	     14 ;       AUTHOR:         Geoff Fitch
                      00000000	     15 ;       CREATION DATE:  04-AUG-82
                      00000000	     16 ;
                      00000000	     17 ;--
                      00000000	     18 ;++
                      00000000	     19 ;
                      00000000	     20 ;  FUNCTIONAL DESCRIPTION:
                      00000000	     21 ;
                      00000000	     22 ;
                      00000000	     23 ;       This routine is passed the address of a string descriptor
                      00000000	     24 ;       pointing to the new username, it copies the string buffer
                      00000000	     25 ;       to a local buffer and calls a kernel mode routine to write
                      00000000	     26 ;       the new username in control space and the JIB.
                      00000000	     27 ;
                      00000000	     28 ;       Calling routines must be linked with SYS$SYSTEM:SYS.STB
                      00000000	     29 ;
                      00000000	     30 ;  CALLING SEQUENCE:   (from DCL)
                      00000000	     31 ;
                      00000000	     32 ;       ret_status.wlc.v = SYS_SET_USERNAME ( new_name.rt.dx )
                      00000000	     33 ;
                      00000000	     34 ;  FORMAL PARAMETERS:
                      00000000	     35 ;
                      00000000	     36 ;       NEW_NAME                String containing the new username
                      00000000	     37 ;
                      00000000	     38 ;  IMPLICIT INPUTS:
                      00000000	     39 ;
                      00000000	     40 ;       NONE
                      00000000	     41 ;
                      00000000	     42 ;  IMPLICIT OUTPUTS:
                      00000000	     43 ;
                      00000000	     44 ;       Process control space (CTL$T_USERNAME)
                      00000000	     45 ;       Jb Info Block  (JIB$T_USERNAME)
                      00000000	     46 ;
                      00000000	     47 ;  COMPLETION STATUS:
                      00000000	     48 ;
                      00000000	     49 ;       SS$_NORMAL              Success
                      00000000	     50 ;       SS$_NOPRIV              You don't have CMKRNL
                      00000000	     51 ;       <other>                 something returned from LIB$SCOPY_DXDX
                      00000000	     52 ;
                      00000000	     53 ;  SIDE EFFECTS:
                      00000000	     54 ;
                      00000000	     55 ;       Process Username is changed
                      00000000	     56 ;--
                      00000000	     57 ;

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 2
X01-01                                                          28-MAY-2002 17:17:36  SETUSER.MAR;2

                      00000000	     58         .LIBRARY        /SYS$LIBRARY:LIB.MLB/
                      00000000	     59         $JIBDEF                                 ; JIB symbols
                      00000000	    207         $PCBDEF
                      00000000	    824  
                      00000000	    825         .PSECT	_SYS_DATA, RD, WRT, NOEXE, LONG, NOSHR
                      00000000	    826 
0000000C              00000000	    827 UNAME_LEN = 12
                      00000000	    828 UNAME_S:	.BLKB	UNAME_LEN	; New USERNAME
                      0000000C	    829 
                      0000000C	    830         .PSECT  _SYS_CODE, PIC, USR, CON, REL, LCL, SHR, EXE, RD, NOWRT
                      00000000	    831  
                      00000000	    832         .ENTRY  SYS_SET_USERNAME, ^M<R3, R4, R5, R8>
                      00000002	    833         MOVL    #UNAME_S, -(SP)          ; create string descr - address
                      00000009	    834         PUSHL   #UNAME_LEN		; - length
                      0000000B	    835         PUSHAQ  (SP)
                      0000000D	    836         PUSHAQ  @4(AP)                  ; copy username to local area
                      00000010	    837         CALLS   #2, G^LIB$SCOPY_DXDX
                      00000017	    838         BLBC    R0, 10$                 ; return if copy failed
                      0000001A	    839         ADDL    #8, SP                  ; deallocate descriptor
                      0000001D	    840         $CMKRNL_S  ROUTIN=WRITEUSER     ; call kernel routine
                      0000002C	    879 10$:    RET
                      0000002D	    880  
                      0000002D	    881         .ENTRY  WRITEUSER, ^M<R2,R4>
                      0000002F	    882 	MOVL	PCB$L_JIB(R4),R0
                      00000034	    883 	MOVC3	#UNAME_LEN,UNAME_S,JIB$T_USERNAME(R0)	; poke USERNAME
                      0000003D	    884 	MOVC3	#UNAME_LEN,UNAME_S,G^CTL$T_USERNAME	; poke USERNAME
                      00000049	    885         MOVL    #1, R0                          ; return with success
                      0000004C	    886         RET
                      0000004D	    887  
                      0000004D	    888 ;        .TITLE SYS_SET_UIC
                      0000004D	    889 ;
                      0000004D	    890         .IDENT /X01-01/
                      0000004D	    891 ;
                      0000004D	    892 ;       FACILITY:       SYS - General procedure Library
                      0000004D	    893 ;
                      0000004D	    894 ;       ABSTRACT:       Rewrite current process's UIC
                      0000004D	    895 ;
                      0000004D	    896 ;       ENVIRONMENT:    User mode, calls kernel mode routine, requires
                      0000004D	    897 ;                       user privelege CMKRNL
                      0000004D	    898 ;
                      0000004D	    899 ;
                      0000004D	    900 ;       AUTHOR:         DSA , ABS STINE
                      0000004D	    901 ;       CREATION DATE:  09-SEP-83
                      0000004D	    902 ;
                      0000004D	    903 ;--
                      0000004D	    904 ;++
                      0000004D	    905 ;
                      0000004D	    906 ;  FUNCTIONAL DESCRIPTION:
                      0000004D	    907 ;
                      0000004D	    908 ;     Sets process UIC to longword UIC passed from caller
                      0000004D	    909 ;
                      0000004D	    910 ;       Note: Calling procedure must be linked with SYS$SYSTEM:SYS.STB
                      0000004D	    911 ;
                      0000004D	    912 ;  CALLING SEQUENCE:   (from high - level language)
                      0000004D	    913 ;
                      0000004D	    914 ;       ret_status.wlc.v = SYS_SET_UIC ( new_uic.rl )
                      0000004D	    915 ;

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 3
X01-01                                                          28-MAY-2002 17:17:36  SETUSER.MAR;2

                      0000004D	    916 ;  FORMAL PARAMETERS:
                      0000004D	    917 ;
                      0000004D	    918 ;       NEW_UIC         The longword containing the new UIC
                      0000004D	    919 ;
                      0000004D	    920 ;  IMPLICIT INPUTS:
                      0000004D	    921 ;
                      0000004D	    922 ;       NONE
                      0000004D	    923 ;
                      0000004D	    924 ;  IMPLICIT OUTPUTS:
                      0000004D	    925 ;
                      0000004D	    926 ;       Process Control Block  (PCB$L_UIC)
                      0000004D	    927 ;
                      0000004D	    928 ;  COMPLETION STATUS:
                      0000004D	    929 ;
                      0000004D	    930 ;       SS$_NORMAL              Success
                      0000004D	    931 ;       SS$_NOPRIV              You don't have CMKRNL priv
                      0000004D	    932 ;       <other>                 something returned from $CMKRNL
                      0000004D	    933 ;
                      0000004D	    934 ;  SIDE EFFECTS:
                      0000004D	    935 ;
                      0000004D	    936 ;       Process UIC is changed
                      0000004D	    937 ;
                      0000004D	    938 ;******************************************************************************
                      0000004D	    939 ;
                      0000004D	    940 ;  WARNING ******: DO NOT CHANGE THE FORMAT OF THE ADDRESSING IN THIS ROUTINE.
                      0000004D	    941 ;  WARNING         ALMOST NO ERROR CHECKING IS, OR CAN BE DONE. THERE IS NO
                      0000004D	    942 ;  WARNING         REAL WAY OF HANDLING AN EXCEPTION WHILE IN KERNEL MODE,
                      0000004D	    943 ;                  AND HAVE IT COME BACK TO USER MODE.
                      0000004D	    944 ;
                      0000004D	    945 ;                  **** IN OTHER WORDS, YOU GOOF IT, YOU LOOSE IT. *****
                      0000004D	    946 ;
                      0000004D	    947 ;******************************************************************************
                      0000004D	    948 ;
                      0000004D	    949 ;               integer*4       newuic, SYS_SET_UIC, ERROR
                      0000004D	    950 ;               DATA NEWUIC/ 65540 /     ! SAME UIC AS [ 1,4 ]
                      0000004D	    951 ;
                      0000004D	    952 ;               ERROR = SYS_SET_UIC( NEWUIC )
                      0000004D	    953 ;
                      0000004D	    954 ;
                      0000004D	    955 ;--
                      0000004D	    956 ;
                      0000004D	    957         .LIBRARY        /SYS$LIBRARY:LIB.MLB/
                      0000004D	    958 ;
                      0000004D	    959         $SSDEF                                  ; system return definitions
                      0000004D	   1862         $PCBDEF
                      0000004D	   1863 ;
                      0000004D	   1864         .PSECT	_SYS_DATA, RD, WRT, NOEXE, LONG, NOSHR
                      0000000C	   1865 UIC:	.BLKL	1
                      00000010	   1866 
                      00000010	   1867         .PSECT  _SYS_CODE, PIC, USR, CON, REL, LCL, SHR, EXE, RD, NOWRT
                      0000004D	   1868 ;
                      0000004D	   1869         .ENTRY  SYS_SET_UIC,^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ; save all reg
                      0000004F	   1870 ;
                      0000004F	   1871 	MOVL	@4(AP),UIC
                      00000057	   1872 ;
                      00000066	   1873         $CMKRNL_S  ROUTIN=SETUIC        ; call kernel routine
                      00000066	   1874 10$:    RET

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 4
X01-01                                                          28-MAY-2002 17:17:36  SETUSER.MAR;2

                      00000067	   1875 ;
                      00000067	   1876         .ENTRY  SETUIC,^M<R2,R4>
                      00000069	   1877         MOVL    UIC , PCB$L_UIC(R4)      ; set user identification code
                      00000072	   1878         MOVZWL  #SS$_NORMAL,R0          ; SET A ONE IN R0 FOR NORMAL RETURN
                      00000075	   1879         RET
                      00000076	   1880 ;
                      00000076	   1881 ;
                      00000076	   1882         .END

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 5
X01-01                                                          28-MAY-2002 17:17:36  SETUSER.MAR;2

				      .psect _SYS_CODE, CON, LCL, SHR, EXE, NOWRT, NOVEC, NOSHORT
				      .proc   SYS_SET_USERNAME
				      .align 32
				      .global  SYS_SET_USERNAME
			SYS_SET_USERNAME:										   // 000832
			   { .mii 
002C01B46D40     0000		      alloc   r53 = rspfs, 1, 26, 8, 0						  {Prolog}
010800C00740     0001		      mov     r29 = sp				// r29 = r12			  {Prolog}
010801A00E80     0002		      mov     r58 = r26							   {Prolog/RtnCtx}
			   }
			   { .mmi 
010800500E40     0010		      mov     r57 = r5 ;;							  {Prolog}
010800400E00     0011		      mov     r56 = r4								  {Prolog}
010800300DC0     0012		      mov     r55 = r3								  {Prolog}
			   }
			   { .mii 
010800100A00     0020		      mov     r40 = gp				// r40 = r1			  {Prolog}
010800C00D80     0021		      mov     r54 = sp ;;			// r54 = r12			  {Prolog}
000188000D00     0022		      mov     r52 = rp				// r52 = br0			  {Prolog}
			   }
	         0030	$L1:
			   { .mii 
012000100600     0030		      add     r24 = @ltoff(UNAME_S), gp		// r24 = @ltoff(UNAME_S), r1		   // 000833
0119F8CF8300     0031		      adds    sp = -4, sp			// r12 = -4, r12
0108000185C0     0032		      adds    r23 = 12, r0 ;;								   // 000834
			   }
			   { .mii 
0080C1800600     0040		      ld8     r24 = [r24]								   // 000833
010800004640     0041		      adds    ai = 2, r0			// r25 = 2, r0				   // 000837
010801D00CC0     0042		      mov     r51 = r29								  {RegSav} R29
			   }
			   { .mmi 
010801500C80     0050		      mov     r50 = r21 ;;							  {RegSav} R15
008C80C30000     0051		      st4     [sp] = r24			// [r12] = r24				   // 000833
0119F8CF8300     0052		      adds    sp = -4, sp			// r12 = -4, r12			   // 000834
			   }
			   { .mii 
010801400C40     0060		      mov     r49 = r20								  {RegSav} R14 // 000837
010801F00C00     0061		      mov     r48 = r31 ;;							  {RegSav} R13
010800C00F00     0062		      mov     out1 = sp				// r60 = r12				   // 000835
			   }
			   { .mii 
008C80C2E000     0070		      st4     [sp] = r23			// [r12] = r23				   // 000834
0119F8CF0300     0071		      adds    sp = -8, sp			// r12 = -8, r12			   // 000837
010801E00BC0     0072		      mov     r47 = r30 ;;							  {RegSav} R12
			   }
			   { .mii 
0119F8CE0300     0080		      adds    sp = -16, sp			// r12 = -16, r12
010800B00B80     0081		      mov     r46 = r11								  {RegSav} R11
010800A00B40     0082		      mov     r45 = r10								  {RegSav} R10
			   }
			   { .mmi 
010801B00B00     0090		      mov     r44 = r27 ;;							  {RegSav} R9
010801A00AC0     0091		      mov     r43 = r26								  {RegSav} R8
010800300A80     0092		      mov     r42 = r3								  {RegSav} R3
			   }
			   { .mib 

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 6
X01-01                          SYS_SET_USERNAME                28-MAY-2002 17:17:36  SETUSER.MAR;2

010801C00A40     00A0		      mov     r41 = r28								  {RegSav} R2
010802000EC0     00A1		      mov     out0 = in0			// r59 = r32				   // 000836
00A000001000     00A2		      br.call.sptk.many rp = LIB$SCOPY_DXDX	// br0 = LIB$SCOPY_DXDX		    {Call} // 000837
			   }
			   { .mii 
010800C20300     00B0		      adds    sp = 16, sp			// r12 = 16, r12
00A038800180     00B1		      tbit.z  pr6, pr7 = r8, 0								   // 000838
010803300740     00B2		      mov     r29 = r51				R29					   // 000837
			   }
			   { .mmi 
010803200540     00C0		      mov     r21 = r50 ;;			R15
010803100500     00C1		      mov     r20 = r49				R14
0108030007C0     00C2		      mov     r31 = r48				R13
			   }
			   { .mii 
010802F00780     00D0		      mov     r30 = r47				R12
010802E002C0     00D1		      mov     r11 = r46 ;;			R11
010802D00280     00D2		      mov     r10 = r45				R10
			   }
			   { .mii 
010802C006C0     00E0		      mov     r27 = r44				R9
010802B00680     00E1		      mov     r26 = r43				R8
010802A000C0     00E2		      mov     r3 = r42 ;;			R3
			   }
			   { .mii 
010802900700     00F0		      mov     r28 = r41				R2
010800C10300     00F1		      adds    sp = 8, sp			// r12 = 8, r12
010802800040     00F2		      mov     gp = r40				// r1 = r40
			   }
			   { .mfb 
000008000000     0100		      nop.m   0					Padding to fill a bundle.
000008000000     0101		      nop.f   0					Padding to fill a bundle.
008600014006     0102	       (pr6)  br.cond.spnt.few 5_10$ ;;							    {Ctrl} // 000838
			   }
			   { .mii 
010800C10300     0110		      adds    sp = 8, sp			// r12 = 8, r12				   // 000839
0120001004C0     0111		      add     r19 = @ltoff(@fptr(WRITEUSER)), 	// r19 = @ltoff(@fptr(WRITEUSER)), r1	   // 000840
					      gp
010800004640     0112		      adds    ai = 2, r0			// r25 = 2, r0
			   }
			   { .mmi 
010800000F00     0120		      mov     out1 = r0 ;;			// r60 = r0
000008000000     0121		      nop.m   0					Padding to fill a bundle.
0000B0C00300     0122		      sxt4    sp = sp				// r12 = r12				   // 000839
			   }
			   { .mmi 
0080C13004C0     0130		      ld8     r19 = [r19] ;;								   // 000840
0119F8CE0300     0131		      adds    sp = -16, sp			// r12 = -16, r12
010801300EC0     0132		      mov     out0 = r19			// r59 = r19
			   }
			   { .mfb 
000008000000     0140		      nop.m   0					Padding to fill a bundle.
000008000000     0141		      nop.f   0					Padding to fill a bundle.
00A000001000     0142		      br.call.sptk.many rp = SYS$CMKRNL ;;	// br0 = SYS$CMKRNL		    {Call}
			   }
			   { .mii 
010803300740     0150		      mov     r29 = r51								  {RegRes} R29

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 7
X01-01                          SYS_SET_USERNAME                28-MAY-2002 17:17:36  SETUSER.MAR;2

010803200540     0151		      mov     r21 = r50								  {RegRes} R15
010803100500     0152		      mov     r20 = r49								  {RegRes} R14
			   }
			   { .mmi 
0108030007C0     0160		      mov     r31 = r48 ;;							  {RegRes} R13
010802F00780     0161		      mov     r30 = r47								  {RegRes} R12
010802E002C0     0162		      mov     r11 = r46								  {RegRes} R11
			   }
			   { .mii 
010802D00280     0170		      mov     r10 = r45								  {RegRes} R10
010802C006C0     0171		      mov     r27 = r44 ;;							  {RegRes} R9
010802B00680     0172		      mov     r26 = r43								  {RegRes} R8
			   }
			   { .mii 
010802A000C0     0180		      mov     r3 = r42								  {RegRes} R3
010802900700     0181		      mov     r28 = r41								  {RegRes} R2
010802800040     0182		      mov     gp = r40 ;;			// r1 = r40
			   }
			   { .mfi 
010800C20300     0190		      adds    sp = 16, sp			// r12 = 16, r12
000008000000     0191		      nop.f   0					Padding to fill a bundle.
000008000000     0192		      nop.i   0					Padding to fill a bundle.
			   }
	         01A0	5_10$:												   // 000879
			   { .mfi 
01C0000003C0     01A0		      cmp.eq  pr15, pr0 = r0, r0
000008000000     01A1		      nop.f   0					Padding to fill a bundle.
000008000000     01A2		      nop.i   0 ;;				Padding to fill a bundle.
			   }
	         01B0	$L2:
			   { .mii 
010803600300     01B0		      mov     sp = r54				// r12 = r54			  {Epilog}
000E00168000     01B1		      mov     rp = r52				// br0 = r52			  {Epilog}
010803A00680     01B2		      mov     r26 = r58								  {Epilog}
			   }
			   { .mmi 
010803900140     01C0		      mov     r5 = r57 ;;							  {Epilog}
010803800100     01C1		      mov     r4 = r56								  {Epilog}
0108037000C0     01C2		      mov     r3 = r55 ;;							  {Epilog}
			   }
			   { .mib 
000008000000     01D0		      nop.m   0					Padding to fill a bundle.
00015406A000     01D1		      mov.i   rspfs = r53							  {Epilog}
004000000000     01D2		      nop.b   0 ;;				Padding to fill a bundle.
			   }
			   { .mfb 
000008000000     01E0		      nop.m   0					Padding to fill a bundle.
000008000000     01E1		      nop.f   0					Padding to fill a bundle.
000108001100     01E2		      br.ret.sptk.many rp ;;			// br0			     {Epilog/Call}
			   }
				      .endp   SYS_SET_USERNAME

Routine Size: 496 bytes,    Routine Base: _SYS_CODE + 0000

				      .proc   WRITEUSER
				      .align 32
				      .global  WRITEUSER

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 8
X01-01                          WRITEUSER                       28-MAY-2002 17:17:36  SETUSER.MAR;2

			WRITEUSER:											   // 000881
			   { .mii 
002C02356F80     01F0		      alloc   r62 = rspfs, 0, 35, 8, 0						  {Prolog}
012000100380     01F1		      add     r14 = @ltoff($PSECT_BASE9), gp	// r14 = @ltoff($PSECT_BASE9), r1	   // 000883
010801C01080     01F2		      mov     r66 = r28							   {Prolog/RtnCtx} // 000881
			   }
			   { .mmi 
010800C00740     0200		      mov     r29 = sp ;;			// r29 = r12			  {Prolog}
0080C0E00380     0201		      ld8     r14 = [r14]								   // 000883
010800501040     0202		      mov     r65 = r5								  {Prolog} // 000881
			   }
			   { .mii 
010800401000     0210		      mov     r64 = r4								  {Prolog}
010800100A00     0211		      mov     r40 = gp ;;			// r40 = r1			  {Prolog}
000188000F40     0212		      mov     r61 = rp				// r61 = br0			  {Prolog}
			   }
			   { .mfi 
010800C00FC0     0220		      mov     r63 = sp				// r63 = r12			  {Prolog}
000008000000     0221		      nop.f   0					Padding to fill a bundle.
000008000000     0222		      nop.i   0 ;;				Padding to fill a bundle.
			   }
	         0230	$L3:
			   { .mii 
010810468600     0230		      adds    r24 = 308, r4								   // 000882
0119F8CE0300     0231		      adds    sp = -16, sp			// r12 = -16, r12			   // 000883
010801D00EC0     0232		      mov     r59 = r29								  {RegSav} R29
			   }
			   { .mmi 
010801900E80     0240		      mov     r58 = ai ;;			// r58 = r25			  {RegSav} R25
008081800200     0241		      ld4     r8 = [r24]								   // 000882
010801800E40     0242		      mov     r57 = r24								  {RegSav} R24 // 000883
			   }
			   { .mii 
010801700E00     0250		      mov     r56 = r23								  {RegSav} R23
010801600DC0     0251		      mov     r55 = r22 ;;							  {RegSav} R22
0000B0800200     0252		      sxt4    r8 = r8									   // 000882
			   }
			   { .mii 
010801300D80     0260		      mov     r54 = r19								  {RegSav} R21 // 000883
010801200D40     0261		      mov     r53 = r18								  {RegSav} R20
010801100D00     0262		      mov     r52 = r17 ;;							  {RegSav} R19
			   }
			   { .mii 
010801000CC0     0270		      mov     r51 = r16								  {RegSav} R18
010800F00C80     0271		      mov     r50 = r15								  {RegSav} R17
010800E00C40     0272		      mov     r49 = r14								  {RegSav} R16
			   }
			   { .mmi 
010801500C00     0280		      mov     r48 = r21 ;;							  {RegSav} R15
010801400BC0     0281		      mov     r47 = r20								  {RegSav} R14
010801F00B80     0282		      mov     r46 = r31								  {RegSav} R13
			   }
			   { .mii 
010801E00B40     0290		      mov     r45 = r30								  {RegSav} R12
010800B00B00     0291		      mov     r44 = r11 ;;							  {RegSav} R11
010800A00AC0     0292		      mov     r43 = r10								  {RegSav} R10
			   }

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 9
X01-01                          WRITEUSER                       28-MAY-2002 17:17:36  SETUSER.MAR;2

			   { .mii 
010801B00A80     02A0		      mov     r42 = r27								  {RegSav} R9
010801A00A40     02A1		      mov     r41 = r26								  {RegSav} R8
0108008190C0     02A2		      adds    out0 = 12, r8 ;;			// r67 = 12, r8
			   }
			   { .mib 
010800E01140     02B0		      mov     out2 = r14			// r69 = r14
010800019100     02B1		      adds    out1 = 12, r0			// r68 = 12, r0
00A000001000     02B2		      br.call.sptk.many rp = OTS$MOVE ;;	// br0 = OTS$MOVE		    {Call}
			   }
			   { .mii 
010802800040     02C0		      mov     gp = r40				// r1 = r40
0108038005C0     02C1		      mov     r23 = r56								  {RegRes} R23
010803100380     02C2		      mov     r14 = r49								  {RegRes} R16
			   }
			   { .mmi 
010800C20300     02D0		      adds    sp = 16, sp ;;			// r12 = 16, r12
0120001005C0     02D1		      add     r23 = @ltoff(CTL$T_USERNAME), 	// r23 = @ltoff(CTL$T_USERNAME), r1	   // 000884
					      gp
010803B00740     02D2		      mov     r29 = r59								  {RegRes} R29 // 000883
			   }
			   { .mii 
010803A00640     02E0		      mov     ai = r58				// r25 = r58			  {RegRes} R25
010803900600     02E1		      mov     r24 = r57 ;;							  {RegRes} R24
010803700580     02E2		      mov     r22 = r55								  {RegRes} R22
			   }
			   { .mii 
0080C17005C0     02F0		      ld8     r23 = [r23]								   // 000884
0108036004C0     02F1		      mov     r19 = r54								  {RegRes} R21 // 000883
010803500480     02F2		      mov     r18 = r53 ;;							  {RegRes} R20
			   }
			   { .mii 
010803400440     0300		      mov     r17 = r52								  {RegRes} R19
010803300400     0301		      mov     r16 = r51								  {RegRes} R18
0108032003C0     0302		      mov     r15 = r50								  {RegRes} R17
			   }
			   { .mmi 
010803000540     0310		      mov     r21 = r48 ;;							  {RegRes} R15
010802F00500     0311		      mov     r20 = r47								  {RegRes} R14
010802E007C0     0312		      mov     r31 = r46								  {RegRes} R13
			   }
			   { .mii 
010802D00780     0320		      mov     r30 = r45								  {RegRes} R12
010802C002C0     0321		      mov     r11 = r44 ;;							  {RegRes} R11
010802B00280     0322		      mov     r10 = r43								  {RegRes} R10
			   }
			   { .mii 
010802A006C0     0330		      mov     r27 = r42								  {RegRes} R9
010802900680     0331		      mov     r26 = r41								  {RegRes} R8
010800E01140     0332		      mov     out2 = r14 ;;			// r69 = r14				   // 000884
			   }
			   { .mii 
010800E18A40     0340		      adds    r41 = 12, r14
0119F8CE0300     0341		      adds    sp = -16, sp			// r12 = -16, r12
010801D00F00     0342		      mov     r60 = r29								  {RegSav} R29
			   }
			   { .mmi 

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 10
X01-01                          WRITEUSER                       28-MAY-2002 17:17:36  SETUSER.MAR;2

010801900EC0     0350		      mov     r59 = ai ;;			// r59 = r25			  {RegSav} R25
010801800E80     0351		      mov     r58 = r24								  {RegSav} R24
010801700E40     0352		      mov     r57 = r23								  {RegSav} R23
			   }
			   { .mii 
010801600E00     0360		      mov     r56 = r22								  {RegSav} R22
010801300DC0     0361		      mov     r55 = r19 ;;							  {RegSav} R21
010801200D80     0362		      mov     r54 = r18								  {RegSav} R20
			   }
			   { .mii 
010801100D40     0370		      mov     r53 = r17								  {RegSav} R19
010801000D00     0371		      mov     r52 = r16								  {RegSav} R18
010800F00CC0     0372		      mov     r51 = r15 ;;							  {RegSav} R17
			   }
			   { .mii 
010800E00C80     0380		      mov     r50 = r14								  {RegSav} R16
010801500C40     0381		      mov     r49 = r21								  {RegSav} R15
010801400C00     0382		      mov     r48 = r20								  {RegSav} R14
			   }
			   { .mmi 
010801F00BC0     0390		      mov     r47 = r31 ;;							  {RegSav} R13
010801E00B80     0391		      mov     r46 = r30								  {RegSav} R12
010800B00B40     0392		      mov     r45 = r11								  {RegSav} R11
			   }
			   { .mii 
010800A00B00     03A0		      mov     r44 = r10								  {RegSav} R10
010801B00AC0     03A1		      mov     r43 = r27 ;;							  {RegSav} R9
010801A00A80     03A2		      mov     r42 = r26								  {RegSav} R8
			   }
			   { .mib 
0108017010C0     03B0		      mov     out0 = r23			// r67 = r23
010800019100     03B1		      adds    out1 = 12, r0			// r68 = 12, r0
00A000001000     03B2		      br.call.sptk.many rp = OTS$MOVE ;;	// br0 = OTS$MOVE		    {Call}
			   }
			   { .mii 
01C0000003C0     03C0		      cmp.eq  pr15, pr0 = r0, r0							   // 000886
010800002200     03C1		      adds    r8 = 1, r0								   // 000885
0108043000C0     03C2		      mov     r3 = out0				// r3 = r67				   // 000884
			   }
			   { .mmi 
010802900240     03D0		      mov     r9 = r41 ;;
010803C00740     03D1		      mov     r29 = r60								  {RegRes} R29
010803B00640     03D2		      mov     ai = r59				// r25 = r59			  {RegRes} R25
			   }
			   { .mii 
010803A00600     03E0		      mov     r24 = r58								  {RegRes} R24
0108039005C0     03E1		      mov     r23 = r57 ;;							  {RegRes} R23
010803800580     03E2		      mov     r22 = r56								  {RegRes} R22
			   }
			   { .mii 
0108037004C0     03F0		      mov     r19 = r55								  {RegRes} R21
010803600480     03F1		      mov     r18 = r54								  {RegRes} R20
010803500440     03F2		      mov     r17 = r53 ;;							  {RegRes} R19
			   }
			   { .mii 
010803400400     0400		      mov     r16 = r52								  {RegRes} R18
0108033003C0     0401		      mov     r15 = r51								  {RegRes} R17

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 11
X01-01                          WRITEUSER                       28-MAY-2002 17:17:36  SETUSER.MAR;2

010803200380     0402		      mov     r14 = r50								  {RegRes} R16
			   }
			   { .mmi 
010803100540     0410		      mov     r21 = r49 ;;							  {RegRes} R15
010803000500     0411		      mov     r20 = r48								  {RegRes} R14
010802F007C0     0412		      mov     r31 = r47								  {RegRes} R13
			   }
			   { .mii 
010802E00780     0420		      mov     r30 = r46								  {RegRes} R12
010802D002C0     0421		      mov     r11 = r45 ;;							  {RegRes} R11
010802C00280     0422		      mov     r10 = r44								  {RegRes} R10
			   }
			   { .mii 
010802B006C0     0430		      mov     r27 = r43								  {RegRes} R9
010802A00680     0431		      mov     r26 = r42								  {RegRes} R8
010802800040     0432		      mov     gp = r40 ;;			// r1 = r40
			   }
			   { .mfi 
010800C20300     0440		      adds    sp = 16, sp			// r12 = 16, r12
000008000000     0441		      nop.f   0					Padding to fill a bundle.
000008000000     0442		      nop.i   0					Padding to fill a bundle.
			   }
	         0450	$L4:												   // 000886
			   { .mii 
010804200700     0450		      mov     r28 = r66								  {Epilog}
000E0017A000     0451		      mov     rp = r61				// br0 = r61			  {Epilog}
010804100140     0452		      mov     r5 = r65 ;;							  {Epilog}
			   }
			   { .mii 
010803F00300     0460		      mov     sp = r63				// r12 = r63			  {Epilog}
010804000100     0461		      mov     r4 = r64								  {Epilog}
00015407C000     0462		      mov.i   rspfs = r62 ;;							  {Epilog}
			   }
			   { .mfb 
000008000000     0470		      nop.m   0					Padding to fill a bundle.
000008000000     0471		      nop.f   0					Padding to fill a bundle.
000108001100     0472		      br.ret.sptk.many rp ;;			// br0			     {Epilog/Call}
			   }
				      .endp   WRITEUSER

Routine Size: 656 bytes,    Routine Base: _SYS_CODE + 01F0

				      .proc   SYS_SET_UIC
				      .align 32
				      .global  SYS_SET_UIC
			SYS_SET_UIC:											   // 001869
			   { .mii 
002C02152D40     0480		      alloc   r53 = rspfs, 1, 32, 8, 0						  {Prolog}
010800C00740     0481		      mov     r29 = sp				// r29 = r12			  {Prolog}
010801C01000     0482		      mov     r64 = r28							   {Prolog/RtnCtx}
			   }
			   { .mmi 
010801B00FC0     0490		      mov     r63 = r27 ;;							  {Prolog}
010801A00F80     0491		      mov     r62 = r26								  {Prolog}
010800B00F40     0492		      mov     r61 = r11								  {Prolog}
			   }
			   { .mii 

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 12
X01-01                          SYS_SET_UIC                     28-MAY-2002 17:17:36  SETUSER.MAR;2

010800A00F00     04A0		      mov     r60 = r10								  {Prolog}
010800700EC0     04A1		      mov     r59 = r7 ;;							  {Prolog}
010800600E80     04A2		      mov     r58 = r6								  {Prolog}
			   }
			   { .mii 
010800500E40     04B0		      mov     r57 = r5								  {Prolog}
010800400E00     04B1		      mov     r56 = r4								  {Prolog}
010800300DC0     04B2		      mov     r55 = r3 ;;							  {Prolog}
			   }
			   { .mii 
010800100A00     04C0		      mov     r40 = gp				// r40 = r1			  {Prolog}
000188000D00     04C1		      mov     r52 = rp				// r52 = br0			  {Prolog}
010800C00D80     04C2		      mov     r54 = sp				// r54 = r12			  {Prolog}
			   }
	         04D0	$L5:
			   { .mmi 
0108020004C0     04D0		      mov     r19 = in0 ;;			// r19 = r32				   // 001871
00A001302600     04D1		      ld1     r24 = [r19], 1
012000100480     04D2		      add     r18 = @ltoff($PSECT_BASE9), gp	// r18 = @ltoff($PSECT_BASE9), r1
			   }
			   { .mii 
012000100440     04E0		      add     r17 = @ltoff(@fptr(SETUIC)), 	// r17 = @ltoff(@fptr(SETUIC)), r1	   // 001873
					      gp
010800004640     04E1		      adds    ai = 2, r0 ;;			// r25 = 2, r0
010801D00CC0     04E2		      mov     r51 = r29								  {RegSav} R29
			   }
			   { .mii 
0080C1200480     04F0		      ld8     r18 = [r18]								   // 001871
010801500C80     04F1		      mov     r50 = r21								  {RegSav} R15 // 001873
010801400C40     04F2		      mov     r49 = r20 ;;							  {RegSav} R14
			   }
			   { .mii 
00A001302580     0500		      ld1     r22 = [r19], 1								   // 001871
010801F00C00     0501		      mov     r48 = r31								  {RegSav} R13 // 001873
010801E00BC0     0502		      mov     r47 = r30								  {RegSav} R12
			   }
			   { .mmi 
010800B00B80     0510		      mov     r46 = r11 ;;							  {RegSav} R11
010800A00B40     0511		      mov     r45 = r10								  {RegSav} R10
009BB982C600     0512		      dep     r24 = r22, r24, 8, 8							   // 001871
			   }
			   { .mii 
010801B00B00     0520		      mov     r44 = r27								  {RegSav} R9 // 001873
010801A00AC0     0521		      mov     r43 = r26 ;;							  {RegSav} R8
010800300A80     0522		      mov     r42 = r3								  {RegSav} R3
			   }
			   { .mii 
00A001302580     0530		      ld1     r22 = [r19], 1								   // 001871
010801C00A40     0531		      mov     r41 = r28								  {RegSav} R2 // 001873
010800001080     0532		      mov     out1 = r0 ;;			// r66 = r0
			   }
			   { .mib 
0108020005C0     0540		      mov     r23 = in0				// r23 = r32				   // 001871
0097B982C600     0541		      dep     r24 = r22, r24, 16, 8
004000000000     0542		      nop.b   0					Padding to fill a bundle.
			   }
			   { .mmi 

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 13
X01-01                          SYS_SET_UIC                     28-MAY-2002 17:17:36  SETUSER.MAR;2

008001300580     0550		      ld1     r22 = [r19] ;;
000008000000     0551		      nop.m   0					Padding to fill a bundle.
0093B982C600     0552		      dep     r24 = r22, r24, 24, 8 ;;
			   }
			   { .mii 
000008000000     0560		      nop.m   0					Padding to fill a bundle.
0000B1800600     0561		      sxt4    r24 = r24 ;;
010801218480     0562		      adds    r18 = 12, r18 ;;
			   }
			   { .mmi 
008C81230000     0570		      st4     [r18] = r24
0080C1100440     0571		      ld8     r17 = [r17]								   // 001873
0119F8CE0300     0572		      adds    sp = -16, sp ;;			// r12 = -16, r12
			   }
			   { .mfb 
010801101040     0580		      mov     out0 = r17			// r65 = r17
000008000000     0581		      nop.f   0					Padding to fill a bundle.
00A000001000     0582		      br.call.sptk.many rp = SYS$CMKRNL		// br0 = SYS$CMKRNL		    {Call}
			   }
			   { .mii 
010803300740     0590		      mov     r29 = r51								  {RegRes} R29
010803200540     0591		      mov     r21 = r50								  {RegRes} R15
010803100500     0592		      mov     r20 = r49								  {RegRes} R14
			   }
			   { .mmi 
0108030007C0     05A0		      mov     r31 = r48 ;;							  {RegRes} R13
010802F00780     05A1		      mov     r30 = r47								  {RegRes} R12
010802E002C0     05A2		      mov     r11 = r46								  {RegRes} R11
			   }
			   { .mii 
010802D00280     05B0		      mov     r10 = r45								  {RegRes} R10
010802C006C0     05B1		      mov     r27 = r44 ;;							  {RegRes} R9
010802B00680     05B2		      mov     r26 = r43								  {RegRes} R8
			   }
			   { .mii 
010802A000C0     05C0		      mov     r3 = r42								  {RegRes} R3
010802900700     05C1		      mov     r28 = r41								  {RegRes} R2
010802800040     05C2		      mov     gp = r40 ;;			// r1 = r40
			   }
			   { .mfi 
010800C20300     05D0		      adds    sp = 16, sp			// r12 = 16, r12
000008000000     05D1		      nop.f   0					Padding to fill a bundle.
000008000000     05D2		      nop.i   0					Padding to fill a bundle.
			   }
	         05E0	10_10$:												   // 001874
			   { .mfi 
01C0000003C0     05E0		      cmp.eq  pr15, pr0 = r0, r0
000008000000     05E1		      nop.f   0					Padding to fill a bundle.
000008000000     05E2		      nop.i   0 ;;				Padding to fill a bundle.
			   }
	         05F0	$L6:
			   { .mii 
010803600300     05F0		      mov     sp = r54				// r12 = r54			  {Epilog}
000E00168000     05F1		      mov     rp = r52				// br0 = r52			  {Epilog}
010804000700     05F2		      mov     r28 = r64								  {Epilog}
			   }
			   { .mmi 

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 14
X01-01                          SYS_SET_UIC                     28-MAY-2002 17:17:36  SETUSER.MAR;2

010803F006C0     0600		      mov     r27 = r63 ;;							  {Epilog}
010803E00680     0601		      mov     r26 = r62								  {Epilog}
010803D002C0     0602		      mov     r11 = r61								  {Epilog}
			   }
			   { .mii 
010803C00280     0610		      mov     r10 = r60								  {Epilog}
010803B001C0     0611		      mov     r7 = r59 ;;							  {Epilog}
010803A00180     0612		      mov     r6 = r58								  {Epilog}
			   }
			   { .mii 
010803900140     0620		      mov     r5 = r57								  {Epilog}
010803800100     0621		      mov     r4 = r56								  {Epilog}
0108037000C0     0622		      mov     r3 = r55 ;;							  {Epilog}
			   }
			   { .mib 
000008000000     0630		      nop.m   0					Padding to fill a bundle.
00015406A000     0631		      mov.i   rspfs = r53							  {Epilog}
004000000000     0632		      nop.b   0 ;;				Padding to fill a bundle.
			   }
			   { .mfb 
000008000000     0640		      nop.m   0					Padding to fill a bundle.
000008000000     0641		      nop.f   0					Padding to fill a bundle.
000108001100     0642		      br.ret.sptk.many rp ;;			// br0			     {Epilog/Call}
			   }
				      .endp   SYS_SET_UIC

Routine Size: 464 bytes,    Routine Base: _SYS_CODE + 0480

				      .proc   SETUIC
				      .align 32
				      .global  SETUIC
			SETUIC:												   // 001876
			   { .mii 
002C00D2AA40     0650		      alloc   r41 = rspfs, 0, 13, 8, 0						  {Prolog}
010800C00740     0651		      mov     r29 = sp				// r29 = r12			  {Prolog}
010801C00B00     0652		      mov     r44 = r28							   {Prolog/RtnCtx}
			   }
			   { .mmi 
010800400AC0     0660		      mov     r43 = r4 ;;							  {Prolog}
010800C00A80     0661		      mov     r42 = sp				// r42 = r12			  {Prolog}
000008000000     0662		      nop.i   0					Padding to fill a bundle.
			   }
	         0670	$L7:
			   { .mii 
012000100600     0670		      add     r24 = @ltoff($PSECT_BASE9), gp	// r24 = @ltoff($PSECT_BASE9), r1	   // 001877
0108104E8580     0671		      adds    r22 = 372, r4 ;;
01C0000003C0     0672		      cmp.eq  pr15, pr0 = r0, r0							   // 001879
			   }
			   { .mii 
0080C1800600     0680		      ld8     r24 = [r24]								   // 001877
010800002200     0681		      adds    r8 = 1, r0 ;;								   // 001878
010801818600     0682		      adds    r24 = 12, r24 ;;								   // 001877
			   }
			   { .mmi 
0080818005C0     0690		      ld4     r23 = [r24] ;;
000008000000     0691		      nop.m   0					Padding to fill a bundle.
0000B17005C0     0692		      sxt4    r23 = r23 ;;

SYS_SETUSER                     Machine Code Listing            12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 15
X01-01                          SETUIC                          28-MAY-2002 17:17:36  SETUSER.MAR;2

			   }
			   { .mfi 
008C8162E000     06A0		      st4     [r22] = r23
000008000000     06A1		      nop.f   0					Padding to fill a bundle.
000008000000     06A2		      nop.i   0					Padding to fill a bundle.
			   }
	         06B0	$L8:												   // 001879
			   { .mii 
010802A00300     06B0		      mov     sp = r42				// r12 = r42			  {Epilog}
010802C00700     06B1		      mov     r28 = r44								  {Epilog}
010802B00100     06B2		      mov     r4 = r43 ;;							  {Epilog}
			   }
			   { .mib 
000008000000     06C0		      nop.m   0					Padding to fill a bundle.
000154052000     06C1		      mov.i   rspfs = r41							  {Epilog}
004000000000     06C2		      nop.b   0 ;;				Padding to fill a bundle.
			   }
			   { .mfb 
000008000000     06D0		      nop.m   0					Padding to fill a bundle.
000008000000     06D1		      nop.f   0					Padding to fill a bundle.
000108001100     06D2		      br.ret.sptk.many rp ;;			// br0			     {Epilog/Call}
			   }
				      .endp   SETUIC

Routine Size: 144 bytes,    Routine Base: _SYS_CODE + 0650

				      .section .data
				      .type   LIB$SCOPY_DXDX, @function 
				      .global  LIB$SCOPY_DXDX
				      .section .data
				      .type   SYS$CMKRNL, @function 
				      .global  SYS$CMKRNL
				      .section .data
				      .type   OTS$MOVE, @function 
				      .global  OTS$MOVE
				      .global CTL$T_USERNAME

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 16
X01-01                          Symbol table                    28-MAY-2002 17:17:36  SETUSER.MAR;2

$$$ADR                           = 000000E0   X     
CTL$T_USERNAME                     ********   X     
JIB$T_USERNAME                   = 0000000C         
LIB$SCOPY_DXDX                     ********   X     
OTS$MOVE                           ********   X     
PCB$L_JIB                        = 00000134         
PCB$L_UIC                        = 00000174         
SETUIC                             ********  GX     
SS$_NORMAL                       = 00000001 R       
SYS$CMKRNL                         ********   X     
SYS_SET_UIC                        ********  GX     
SYS_SET_USERNAME                   ********  GX     
UNAME_LEN                        = 0000000C         
WRITEUSER                          ********  GX     
__TEMP_RESULT                    = 00000001 R       

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 17
X01-01                          Linkage summary                 28-MAY-2002 17:17:36  SETUSER.MAR;2

Linkages used during compilation:

.CALL_LINKAGE RTN_NAME=OTS$MOVE OUTPUT=<R0-R7> LANGUAGE=PAL

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 18
X01-01                          PSECT summary                   28-MAY-2002 17:17:36  SETUSER.MAR;2

                                                   +----------------+
                                                   ! Psect synopsis !
                                                   +----------------+

PSECT name                         Allocation          PSECT No.  Attributes
----------                         ----------          ---------  ----------
.  ABS  .                          00000000 (00000.)   00 (000.)  NOPIC   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT NOVEC OCTA
. BLANK .                          00000000 (00000.)   01 (001.)  NOPIC   CON   REL   LCL NOSHR   EXE   RD    WRT NOVEC OCTA
$ABS$                              00000000 (00000.)   02 (002.)  NOPIC   CON   ABS   LCL   SHR NOEXE NORD  NOWRT NOVEC OCTA
_SYS_DATA                          00000010 (00016.)   03 (003.)  NOPIC   CON   REL   LCL NOSHR NOEXE   RD    WRT NOVEC LONG
_SYS_CODE                          000006E0 (01760.)   04 (004.)    PIC   CON   REL   LCL   SHR   EXE   RD  NOWRT NOVEC OCTA
$SRODATA$                          00000000 (00000.)   05 (005.)  NOPIC   CON   REL   LCL NOSHR NOEXE   RD  NOWRT NOVEC OCTA

IMACRO compiler developer statistics
Individual Register Spill Counts (R0-R15): 0 0 3 3 0 0 0 0 5 5 5 5 5 5 5 5 
Individual Register Spill Counts (R16-R31): 2 2 2 2 2 2 2 2 2 2 0 0 0 5 0 0 
Total Register Spills: 71 for 5 calls (IMAC/AMAC: 0, OTS: 2, PAL: 0, OTHER: 3, unnamed: 0)
MOVC3 Literals: 0-64: 2, 65-128: 0, 129-256: 0, 257-511: 0, 512: 0, >512: 0, variable: 0

SYS_SETUSER                     Source Listing                  12-AUG-2004 11:11:11  IMAC T1.0-87-50E5L                Page 19
X01-01                          Qualifier summary               28-MAY-2002 17:17:36  SETUSER.MAR;2

COMMAND LINE

MACRO/BVAV/OPTIMIZE/MACHINE_CODE/SYMBOL/FLAG=INDIRECT_JSBS/LIST/OBJ=[.VMS]SETUSER.OBJ [.VMS]SETUSER.MAR

COMMAND QUALIFIERS

  /ARCHITECTURE = GENERIC
  /NODEBUG
  /NODIAGNOSTICS
  /DISABLE = (ABSOLUTE, DEBUG, LSB, OVERFLOW, QUADWORD, TRACEBACK, TRUNCATION)
  /ENABLE = (FLAGGING, GLOBAL, SUPPRESSION)
  /FLAG = (ALIGNMENT, ARGLIST, NOBAD_FIELD_USAGE, CODEGEN, DIRECTIVES, NOHINTS, NOINDIRECT_CALLS, INDIRECT_JSBS, 
           INSTRUCTIONS, JUMPS, NOLINKAGES, STACK)
  /LIBRARY = (???)
  /LIST = SCSI$DATA:[MALMBERG.SAMBA_2_2_8.IA64.SOURCE]SETUSER.LIS;1
  /MACHINE_CODE
  /OBJECT = SCSI$DATA:[MALMBERG.SAMBA_2_2_8.IA64.SOURCE.VMS]SETUSER.OBJ;1
  /OPTIMIZE = (ADDRESSES, PEEPHOLE, REFERENCES, SCHEDULE, NOVAXREGS)
  /NOPRESERVE
  /RETRY_COUNT not specified
  /SHOW = (CALLS, CONDITIONALS, DEFINITIONS)
  /SYMBOLS
  /NOTIE
  /NOUNALIGNED
  /WARNINGS = (INFORMATIONALS, WARNINGS)
  /DUMP not specified
