CTSUSROPN                                                                28-APR-1983 15:31:59  VAX-11 Macro V03-00         Page   1
                                                                         28-APR-1983 15:21:48  SYS$SYSDEVICE:[CAMAC.CTS]CTSUSROPN(1)

                                     0000     1 	.TITLE CTSUSROPN
                                     0000     2 
                                     0000     3 ; This subroutine is called by CTS as an USEROPEN procedure to set the file
                                     0000     4 ; protection to <RWE,RWE,RWE,RWE>.
                                     0000     5 
                                     0000     6 ; data area
                                     0000     7 
                                 00000000     8 	.PSECT	CTS_FPXAB,	PIC
                                     0000     9 PROT_XAB:
                                     0000    10 	$XABPRO	PRO=<RWE,RWE,RWE,RWE>
                                     0010    11 
                                     0000    12 	.PSECT
                               0004  0000    13 	.ENTRY	CTSUSROPN,^M<R2>	;------>  entry point
                                     0002    14 
                    52   04 AC   D0  0002    15 	MOVL	4(AP),R2		; FAB addr
                  51   0000'C2   D0  0006    16 	MOVL	FAB$L_XAB(R2),R1	; addr of first XAB
                            0B   13  000B    17 	BEQL	20$			; eql => no XAB's
                       13   61   91  000D    18 10$:	CMPB	XAB$B_COD(R1),#XAB$C_PRO
                            1E   13  0010    19 	BEQL	30$			; eql => a PRO XAB already exists
                    51   04 A1   D0  0012    20 	MOVL	XAB$L_NXT(R1),R1
                            F5   12  0016    21 	BNEQ	10$			; neq => more XAB's to check
                                     0018    22 ;
                                     0018    23 ; No PRO XAB exists - put our XAB at the head of the list.
                                     0018    24 ;
         00000004'EF   0000'C2   D0  0018    25 20$:	MOVL	FAB$L_XAB(R2),PROT_XAB+XAB$L_NXT
         0000'C2   00000000'EF   DE  0021    26 	MOVAL	PROT_XAB,FAB$L_XAB(R2)
                   00000038'EF   17  002A    27 	JMP	40$
                                     0030    28 ;
                                     0030    29 ; A PRO XAB already exists - replace the protection field in the existing XAB
                                     0030    30 ; with our field.
                                     0030    31 ;
           08 A1   00000008'EF   B0  0030    32 30$:	MOVW	PROT_XAB+XAB$W_PRO,XAB$W_PRO(R1)
                                     0038    33 ;
                                     0038    34 ; create the file
                                     0038    35 ;
                                     0038    36 40$:	$CREATE FAB=R2
                         0A 50   E9  0041    37 	BLBC	R0,RET			; return immediately if error
                                     0044    38 	$CONNECT -			; connect stream to file
                                     0044    39 		RAB=@8(AP)	
                                 04  004E    40 RET:	RET
                                     004F    41 	.END
CTSUSROPN                                                                28-APR-1983 15:31:59  VAX-11 Macro V03-00         Page   2
Symbol table                                                             28-APR-1983 15:21:48  SYS$SYSDEVICE:[CAMAC.CTS]CTSUSROPN(1)

$$.TAB         = 00000000 R     02      
$$.TABEND      = 00000010 R     02      
$$.TMP         = FFFF8888               
$$.TMP1        = 00000001               
$$.TMP2        = 000000BC               
CTSUSROPN        00000000 RG    01      
FAB$L_XAB        ********   X   01      
PROT_XAB         00000000 R     02      
RET              0000004E R     01      
SYS$CONNECT      ********  GX   01      
SYS$CREATE       ********  GX   01      
XAB$B_BKZ        00000016               
XAB$B_BLN        00000001               
XAB$B_COD        00000000               
XAB$B_MTACC      0000000A               
XAB$C_PRO      = 00000013               
XAB$C_PROLEN     00000010               
XAB$K_PROLEN     00000010               
XAB$L_NXT        00000004               
XAB$L_RDT0       0000000C               
XAB$L_RDT4       00000010               
XAB$L_UIC        0000000C               
XAB$M_NODEL    = 00000008               
XAB$M_NOEXE    = 00000004               
XAB$M_NOREAD   = 00000001               
XAB$M_NOWRITE  = 00000002               
XAB$Q_RDT        0000000C               
XAB$S_GRP      = 00000004               
XAB$S_OWN      = 00000004               
XAB$S_RDT      = 00000008               
XAB$S_SYS      = 00000004               
XAB$S_WLD      = 00000004               
XAB$V_GRP      = 00000008               
XAB$V_NODEL    = 00000003               
XAB$V_NOEXE    = 00000002               
XAB$V_NOREAD   = 00000000               
XAB$V_NOWRITE  = 00000001               
XAB$V_OWN      = 00000004               
XAB$V_SYS      = 00000000               
XAB$V_WLD      = 0000000C               
XAB$W_GRP        0000000E               
XAB$W_MBM        0000000C               
XAB$W_PRO        00000008               
XAB$W_RVN        00000008               

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

PSECT name                      Allocation          PSECT No.  Attributes     
----------                      ----------          ---------  ----------     
.  ABS  .                       00000000  (    0.)  00 (  0.)  NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT NOVEC BYTE  
. BLANK .                       0000004F  (   79.)  01 (  1.)  NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
CTS_FPXAB                       00000010  (   16.)  02 (  2.)    PIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
$ABS$                           00000017  (   23.)  03 (  3.)  NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
CTSUSROPN                                                                28-APR-1983 15:31:59  VAX-11 Macro V03-00         Page   3
VAX-11 Macro Run Statistics                                              28-APR-1983 15:21:48  SYS$SYSDEVICE:[CAMAC.CTS]CTSUSROPN(1)


                                             +------------------------+
                                             ! Performance indicators !
                                             +------------------------+

Phase                    Page faults    CPU Time       Elapsed Time   
-----                    -----------    --------       ------------   
Initialization                   27     00:00:00.05    00:00:00.14
Command processing               30     00:00:00.21    00:00:00.43
Pass 1                          148     00:00:02.04    00:00:02.67
Symbol table sort                 0     00:00:00.03    00:00:00.03
Pass 2                           45     00:00:00.28    00:00:00.36
Symbol table output               6     00:00:00.05    00:00:00.04
Psect synopsis output             2     00:00:00.02    00:00:00.02
Cross-reference output            0     00:00:00.00    00:00:00.00
Assembler run totals            262     00:00:02.69    00:00:03.70

The working set limit was 450 pages.
6878 bytes (14 pages) of virtual memory were used to buffer the intermediate code.
There were 10 pages of symbol table space allocated to hold 44 non-local and 4 local symbols.
41 source lines were read in Pass 1, producing 17 object records in Pass 2.
18 pages of virtual memory were used to define 15 macros.

                                            +--------------------------+
                                            ! Macro library statistics !
                                            +--------------------------+

Macro library name                           Macros defined      
------------------                           --------------      
SYS$SYSROOT:[SYSLIB]STARLET.MLB;1                      12        

239 GETS were required to define 12 macros.

There were no errors, warnings or information messages.

/LIS CTSUSROPN
