STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   0
Table of contents

    (1)       40        ML$L_PEEK .. Get data from MEMORY
    (1)       50        ML$L_POKE .. put data to memory
    (1)      100        GETFCP - Accumulate FCP Statistics
    (1)      177        UPTIME - Construct 64 bit uptime from ti
    (1)      215        GETPOOL - Accumulate Pool Statistics
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   1
                                                                          4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     0000     1         .TITLE STATMAR .. STAT Macro routines
                                     0000     2 ;               Routines required for system stats
                                     0000     3 ;++
                                     0000     4 ; FUNCTIONAL DESCRIPTION:
                                     0000     5 ;
                                     0000     6 ;	This routine looks at the address passed to it and returns
                                     0000     7 ;	that value as the value of the function call.
                                     0000     8 ;
                                     0000     9 ; CALLING SEQUENCE:
                                     0000    10 ;
                                     0000    11 ; value= ML$L_PEEK( location ) !! Returns longword from location
                                     0000    12 ;
                                     0000    13 ;
                                     0000    14 ; INPUTS:
                                     0000    15 ;
                                     0000    16 ;        The absolute address of the location to peek at.
                                     0000    17 ;
                                     0000    18 ; IMPLICIT INPUTS:
                                     0000    19 ;
                                     0000    20 ;        none
                                     0000    21 ;
                                     0000    22 ; OUTPUTS:
                                     0000    23 ;
                                     0000    24 ;        What ever is stored at the absolute address.
                                     0000    25 ;
                                     0000    26 ; IMPLICIT OUTPUTS:
                                     0000    27 ;
                                     0000    28 ;        none
                                     0000    29 ;
                                     0000    30 ; ROUTINE VALUE:
                                     0000    31 ;
                                     0000    32 ;        What ever is stored at the absolute address.
                                     0000    33 ;
                                     0000    34 ; SIDE EFFECTS:
                                     0000    35 ;
                                     0000    36 ;	none so far
                                     0000    37 ;--
                                     0000    38 
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   2
                                ML$L_PEEK .. Get data from MEMORY         4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     0000    40         .SBTTL  ML$L_PEEK .. Get data from MEMORY
                                 00000000    41         .PSECT  ML$L_PEEK,PIC,CON,REL,LCL,SHR,NOEXE,RD,WRT,LONG
                               0000  0000    42         .ENTRY  ML$L_PEEK ^M<>
                                     0002    43 
                    50   04 BC   D0  0002    44         MOVL    @4(AP),R0     ; get address of desired thing to be peeked
                       50   60   D0  0006    45         MOVL    (R0),R0       ; get it and return
                                     0009    46 
                                 04  0009    47         RET
                                     000A    48 
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   3
                                ML$L_POKE .. put data to memory           4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     000A    50         .SBTTL  ML$L_POKE .. put data to memory
                                     000A    51 ;++
                                     000A    52 ; FUNCTIONAL DESCRIPTION:
                                     000A    53 ;
                                     000A    54 ;	This routine puts the value located at the argument into the 
                                     000A    55 ;	address of the second argument.
                                     000A    56 ;
                                     000A    57 ; CALLING SEQUENCE:
                                     000A    58 ;
                                     000A    59 ; status = ML$L_POKE( location_1, location_2 )
                                     000A    60 ;
                                     000A    61 ;
                                     000A    62 ; INPUTS:
                                     000A    63 ;
                                     000A    64 ;        The absolute address of the location to take data from
                                     000A    65 ;        The absolute address of the location to put  data to
                                     000A    66 ;
                                     000A    67 ; IMPLICIT INPUTS:
                                     000A    68 ;
                                     000A    69 ;        none
                                     000A    70 ;
                                     000A    71 ; OUTPUTS:
                                     000A    72 ;
                                     000A    73 ;        What ever is stored at the absolute address 1 into
                                     000A    74 ;        What ever is stored at the absolute address 2
                                     000A    75 ;
                                     000A    76 ; IMPLICIT OUTPUTS:
                                     000A    77 ;
                                     000A    78 ;        none
                                     000A    79 ;
                                     000A    80 ; ROUTINE VALUE:
                                     000A    81 ;
                                     000A    82 ;        success (1) regardless
                                     000A    83 ;
                                     000A    84 ; SIDE EFFECTS:
                                     000A    85 ;
                                     000A    86 ;	none so far
                                     000A    87 ;--
                                 00000000    88         .PSECT  ML$L_POKE,PIC,CON,REL,LCL,SHR,NOEXE,RD,WRT,LONG
                               0000  0000    89         .ENTRY  ML$L_POKE ^M<>
                                     0002    90 
                    51   04 BC   D0  0002    91         MOVL    @4(AP),R1    ; get the address of the value
                       51   61   D0  0006    92         MOVL    (R1),R1      ; get the value
                    52   08 BC   D0  0009    93         MOVL    @8(AP),R2    ; get address of destination
                       62   51   D0  000D    94         MOVL    R1,(R2)      ; put value there
                       50   01   D0  0010    95         MOVL    #1,R0        ; OK
                                     0013    96 
                                 04  0013    97         RET                  ; leave
                                     0014    98 
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   4
                                GETFCP - Accumulate FCP Statistics        4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     0014   100 	.SBTTL	GETFCP - Accumulate FCP Statistics
                                     0014   101 
                                     0014   102 ;++
                                     0014   103 ;
                                     0014   104 ; FUNCTIONAL DESCRIPTION:
                                     0014   105 ;
                                     0014   106 ;	This routine accumulates statistics from the File Control Primitive
                                     0014   107 ;	data base and saves them in global variables so that they
                                     0014   108 ;	may be fetched and processed by the standard display
                                     0014   109 ;	collection routines.
                                     0014   110 ;
                                     0014   111 ; CALLING SEQUENCE:
                                     0014   112 ;
                                     0014   113 ;	CALLS/CALLG
                                     0014   114 ;
                                     0014   115 ; INPUTS:
                                     0014   116 ;
                                     0014   117 ;	none
                                     0014   118 ;
                                     0014   119 ; IMPLICIT INPUTS:
                                     0014   120 ;
                                     0014   121 ;	PMS$GL_FCP2 - pointer to ten arrays of FCP data
                                     0014   122 ;
                                     0014   123 ; OUTPUTS:
                                     0014   124 ;
                                     0014   125 ;	None
                                     0014   126 ;
                                     0014   127 ; IMPLICIT OUTPUTS:
                                     0014   128 ;
                                     0014   129 ;	FCPCALLS - contains total calls made to FCP { 4(AP) }
                                     0014   130 ;	FCPCACHE - total FCP cache hits             { 8(AP) }
                                     0014   131 ;	FCPCPU   - percent of CPU time used by FCP during the last
                                     0014   132 ;	           interval                         { 12(AP) }
                                     0014   133 ;	FCPREAD  - total FCP disk reads             { 16(AP) }
                                     0014   134 ;	FCPWRITE - total FCP disk writes            { 20(AP) }
                                     0014   135 ;
                                     0014   136 ; ROUTINE VALUE:
                                     0014   137 ;
                                     0014   138 ;	none
                                     0014   139 ;
                                     0014   140 ; SIDE EFFECTS:
                                     0014   141 ;
                                     0014   142 ;	none
                                     0014   143 ;--
                                     0014   144 
                                 00000000   145         .PSECT  GETFCP,PIC,CON,REL,LCL,SHR,NOEXE,RD,WRT,LONG
                               0000  0000   146         .ENTRY  GETFCP ^M<>
                                     0002   147 	
                                     0002   148 ;
                                     0002   149 ; Compute total calls to fcp
                                     0002   150 ;
                                     0002   151 
                       50   05   D0  0002   152 	MOVL	#5,R0			; sum first six counters
                         04 BC   D4  0005   153 	CLRL	@4(AP)   		; clear counter
                                     0008   154 10$:
         04 BC   00000000'EF40   C0  0008   155 	ADDL	PMS$GL_FCP2[R0],@4(AP)	; add in next counter
                         F4 50   F4  0011   156 	SOBGEQ	R0,10$			; continue till done
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   5
                                GETFCP - Accumulate FCP Statistics        4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     0014   157 
                                     0014   158 ;
                                     0014   159 ; Compute disk reads and writes, cache hits, and % CPU TIME
                                     0014   160 ;
                                     0014   161 
                       50   09   D0  0014   162 	MOVL	#9,R0			; sum 10 entries in each array
                         08 BC   7C  0017   163 	CLRQ	@8(AP)   		; clear reads and writes
                         10 BC   7C  001A   164 	CLRQ	@16(AP) 		; clear cache and cpu time
                                     001D   165 20$:
         10 BC   00000050'EF40   C0  001D   166 	ADDL	PMS$GL_FCP2+<20*4>[R0],@16(AP)     ; sum reads
         14 BC   00000078'EF40   C0  0026   167 	ADDL	PMS$GL_FCP2+<30*4>[R0],@20(AP)     ; sum writes
         08 BC   000000A0'EF40   C0  002F   168 	ADDL	PMS$GL_FCP2+<40*4>[R0],@8(AP)      ; cache hits
         0C BC   000000C8'EF40   C0  0038   169 	ADDL	PMS$GL_FCP2+<50*4>[R0],@12(AP)     ; sum cpu tics used
                         D9 50   F4  0041   170 	SOBGEQ	R0,20$
                                     0044   171 
                                 04  0044   172 	RET				; return
                                     0045   173 
                                     0045   174 
                                     0045   175 
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   6
                                UPTIME - Construct 64 bit uptime from ti  4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     0045   177 	.SBTTL	UPTIME - Construct 64 bit uptime from time in seconds
                                     0045   178 
                                     0045   179 
                                     0045   180 ;++
                                     0045   181 ;
                                     0045   182 ; FUNCTIONAL DESCRIPTION:
                                     0045   183 ;
                                     0045   184 ;	Subroutine to the user's display to update the system uptime
                                     0045   185 ;	field.  Must be written in macro because FORTRAN does not allow
                                     0045   186 ;	64 bit arithmetic.
                                     0045   187 ;
                                     0045   188 ; INPUTS:
                                     0045   189 ;
                                     0045   190 ;	Location to receive uptime
                                     0045   191 ;
                                     0045   192 ; IMPLICIT INPUTS:
                                     0045   193 ;
                                     0045   194 ;	EXE$GL_ABSTIM - system up time in seconds
                                     0045   195 ;
                                     0045   196 ; OUTPUTS:
                                     0045   197 ;
                                     0045   198 ;	none
                                     0045   199 ;
                                     0045   200 ; IMPLICIT OUTPUTS:
                                     0045   201 ;
                                     0045   202 ;	sets CPUTIM field to 64 bit uptime
                                     0045   203 ;
                                     0045   204 ;--
                                     0045   205 
                                     0045   206 
                                     0045   207 
                                 00000000   208         .PSECT  UPTIME,PIC,CON,REL,LCL,SHR,NOEXE,RD,WRT,LONG
                               0000  0000   209         .ENTRY  UPTIME  ^M<>
                                     0002   210 
00   00000000'EF   FF676980 8F   7A  0002   211 	EMUL	#-10*1000*1000,EXE$GL_ABSTIM,#0,@4(ap) ; construct 64 bit time
                         04 BC       000E       
                                 04  0010   212 	RET
                                     0011   213 
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   7
                                GETPOOL - Accumulate Pool Statistics      4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     0011   215 	.SBTTL	GETPOOL - Accumulate Pool Statistics
                                     0011   216 
                                     0011   217 ;++
                                     0011   218 ;
                                     0011   219 ; FUNCTIONAL DESCRIPTION:
                                     0011   220 ;
                                     0011   221 ;	Routine to accumulate statistics on behavior of IRP lookaside list
                                     0011   222 ;	and nonpaged dynamic memory pool.
                                     0011   223 ;
                                     0011   224 ; CALLING SEQUENCE:
                                     0011   225 ;
                                     0011   226 ;	CALLS/CALLG
                                     0011   227 ;
                                     0011   228 ; INPUTS:
                                     0011   229 ;
                                     0011   230 ;	Array for the values of the pool
                                     0011   231 ;
                                     0011   232 ; IMPLICIT INPUTS:
                                     0011   233 ;
                                     0011   234 ;	none
                                     0011   235 ;
                                     0011   236 ; OUTPUTS:
                                     0011   237 ;
                                     0011   238 ;	none
                                     0011   239 ;
                                     0011   240 ; IMPLICIT OUTPUTS:
                                     0011   241 ;
                                     0011   242 ;	IRPCNT, HOLECNT, BIGHOLE, SMALLHOLE, SMALLCNT, HOLESUM, LRPCNT
                                     0011   243 ;       and SRPCNT are set by subroutine SCANPOOL
                                     0011   244 ;
                                     0011   245 ; ROUTINE VALUE:
                                     0011   246 ;
                                     0011   247 ;	none
                                     0011   248 ;
                                     0011   249 ; SIDE EFFECTS:
                                     0011   250 ;
                                     0011   251 ;	none
                                     0011   252 ;--
                                     0011   253 
                           00000015  0011   254 HOLECNT:	.BLKL    1    ; save holecnt
                           00000019  0015   255 HOLESUM:      	.BLKL    1    ; save holesum
                           0000001D  0019   256 BIGHOLE:	.BLKL    1    ; save bighole
                           00000021  001D   257 SMALLCNT:	.BLKL    1    ; save smallcnt
                           00000025  0021   258 SMALLHOLE:	.BLKL    1    ; save small hole
                           00000029  0025   259 IRPCNT:		.BLKL    1    ; save irpcnt
                           0000002D  0029   260 LRPCNT:		.BLKL    1    ; save lrpcnt
                           00000031  002D   261 SRPCNT:		.BLKL    1    ; save srpcnt
                                     0031   262 
                                 00000000   263         .PSECT    GETPOOL,PIC,CON,REL,LCL,SHR,NOEXE,RD,WRT,LONG
                               0000  0000   264         .ENTRY    GETPOOL ^M<>
                                     0002   265         .LIBRARY  /SYS$LIBRARY:LIB.MLB/ ; source of DSBINT and ENBINT
                                     0002   266 	$CMKRNL_S B^SCANPOOL    	; get stats in kernel mode
                                     000E   267 
                                     000E   268 ;
                                     000E   269 ; give it back to the FORTRAN program
                                     000E   270 ;
                                     000E   271 
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   8
                                GETPOOL - Accumulate Pool Statistics      4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

           04 BC   00000011'EF   D0  000E   272      	MOVL      HOLECNT,@4(AP)        ; save away the various things
           08 BC   00000015'EF   D0  0016   273      	MOVL      HOLESUM,@8(AP)        ; that we have collected 
           0C BC   00000019'EF   D0  001E   274      	MOVL      BIGHOLE,@12(AP)       ; into the FORTRAN calling
           10 BC   0000001D'EF   D0  0026   275      	MOVL      SMALLCNT,@16(AP)      ; routine's local space
           14 BC   00000021'EF   D0  002E   276      	MOVL      SMALLHOLE,@20(AP)     ;
           18 BC   00000025'EF   D0  0036   277         MOVL      IRPCNT,@24(AP)        ;
           1C BC   00000029'EF   D0  003E   278         MOVL      LRPCNT,@28(AP)        ;
           20 BC   0000002D'EF   D0  0046   279         MOVL      SRPCNT,@32(AP)        ;
                                     004E   280 
                                 04  004E   281 	RET				; return 
                                     004F   282 
                                     004F   283 
                                     004F   284 ;++
                                     004F   285 ; SCANPOOL - subroutine to update pool statistics
                                     004F   286 ;
                                     004F   287 ; CALLING SEQUENCE:
                                     004F   288 ;
                                     004F   289 ;	$CMKRNL_S SCANPOOL
                                     004F   290 ;
                                     004F   291 ; IMPLICIT INPUTS:
                                     004F   292 ;
                                     004F   293 ;	IOC$GL_IRPFL - address of IRP listhead
                                     004F   294 ;	IOC$GL_LRPFL - address of LRP listhead
                                     004F   295 ;	IOC$GL_SRPFL - address of SRP listhead
                                     004F   296 ;	EXE$GL_NONPAGED - address of nonpaged pool listhead
                                     004F   297 ;
                                     004F   298 ; IMPLICIT OUTPUTS:
                                     004F   299 ;
                                     004F   300 ;	IRPCNT - number of packets in IRP list
                                     004F   301 ;	HOLECNT - number of memory blocks in NONPAGED pool
                                     004F   302 ;	BIGHOLE - largest memory block
                                     004F   303 ;	SMALLHOLE - smallest memory block
                                     004F   304 ;	SMALLCNT - number of 32 byte or smaller blocks
                                     004F   305 ;	HOLESUM - total space in nonpaged pool
                                     004F   306 ;	LRPCNT  - large request packets
                                     004F   307 ;	SRPCNT  - small request packets
                                     004F   308 ;
                                     004F   309 ; SIDE EFFECTS:
                                     004F   310 ;
                                     004F   311 ;	During the creation of this beastie, it had a tendency to crash
                                     004F   312 ;	the system and make its creator very unpopular.
                                     004F   313 ;--
                                     004F   314 
                                     004F   315 SCANPOOL:
                               07FC  004F   316 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10> ; register save mask
                                     0051   317 
                                     0051   318 ;
                                     0051   319 ; Initialize all variables possible at this level.
                                     0051   320 ;
                            52   7C  0051   321 	CLRQ	R2			; clear holecnt, holesum
                            54   7C  0053   322 	CLRQ	R4			; clear for bighole, smallcnt
                       56   01   CE  0055   323 	MNEGL	#1,R6			; make smallest hole very large
                            57   D4  0058   324 	CLRL	R7			; clear for irp counter
                            59   7C  005A   325 	CLRQ    R9			; clear for lrp,srp counter
                                     005C   326 
                                     005C   327 ;
                                     005C   328 ; Touch last word of sequence to make sure all code is resident.
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page   9
                                GETPOOL - Accumulate Pool Statistics      4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     005C   329 ;
                                     005C   330 
                         D8'AF   D5  005C   331 	TSTL	B^70$			; make sure all code is resident
                                     005F   332 ;
                                     005F   333 ; Save address of nonpaged listhead and run at IPL
                                     005F   334 ; contained there.
                                     005F   335 ;
                                     005F   336 
              58   00000000'EF   DE  005F   337 	MOVAL	EXE$GL_NONPAGED,R8	; get nonpaged pool listhead
                                     0066   338 	DSBINT  (R8)+                   ; disable interrupts
                                     006C   339 
                                     006C   340 ;
                                     006C   341 ; Run through the IRP list and count the packets remaining
                                     006C   342 ;
                                     006C   343 
              50   00000000'EF   DE  006C   344 	MOVAL	IOC$GL_IRPFL,R0		; get IRP listhead address
                       51   50   D0  0073   345 	MOVL	R0,R1			; copy header address 
                                     0076   346 
                       51   61   D0  0076   347 10$:	MOVL	(R1),R1			; get forward link
                       50   51   D1  0079   348 	CMPL	R1,R0			; point back to header?
                            04   13  007C   349 	BEQL	20$			; done if so
                            57   D6  007E   350 	INCL	R7			; count one more packet
                            F4   11  0080   351 	BRB	10$			; loop back for more
                                     0082   352 20$:
                                     0082   353 
                                     0082   354 ;
                                     0082   355 ; Run through the LRP list and count the packets remaining
                                     0082   356 ;
                                     0082   357 
              50   00000000'EF   DE  0082   358 	MOVAL	IOC$GL_LRPFL,R0		; get LRP listhead address
                       51   50   D0  0089   359 	MOVL	R0,R1			; copy header address 
                                     008C   360 
                       51   61   D0  008C   361 22$:	MOVL	(R1),R1			; get forward link
                       50   51   D1  008F   362 	CMPL	R1,R0			; point back to header?
                            04   13  0092   363 	BEQL	24$			; done if so
                            59   D6  0094   364 	INCL	R9			; count one more packet
                            F4   11  0096   365 	BRB	22$			; loop back for more
                                     0098   366 24$:
                                     0098   367 
                                     0098   368 ;
                                     0098   369 ; Run through the SRP list and count the packets remaining
                                     0098   370 ;
                                     0098   371 
              50   00000000'EF   DE  0098   372 	MOVAL	IOC$GL_SRPFL,R0		; get IRP listhead address
                       51   50   D0  009F   373 	MOVL	R0,R1			; copy header address 
                                     00A2   374 
                       51   61   D0  00A2   375 26$:	MOVL	(R1),R1			; get forward link
                       50   51   D1  00A5   376 	CMPL	R1,R0			; point back to header?
                            04   13  00A8   377 	BEQL	28$			; done if so
                            5A   D6  00AA   378 	INCL	R10			; count one more packet
                            F4   11  00AC   379 	BRB	26$			; loop back for more
                                     00AE   380 28$:
                                     00AE   381 
                                     00AE   382 ;
                                     00AE   383 ; Now run through the nonpaged pool, count the blocks, and check the
                                     00AE   384 ; smallest and largest holes.
                                     00AE   385 ;
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  10
                                GETPOOL - Accumulate Pool Statistics      4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

                                     00AE   386 
                       50   58   D0  00AE   387 	MOVL	R8,R0			; get pool listhead address
                       50   60   D0  00B1   388 30$:	MOVL	(R0),R0			; get address of next block
                            22   13  00B4   389 	BEQL	70$			; branch if zero, list done
                            52   D6  00B6   390 	INCL	R2			; note one more block
                    51   04 A0   D0  00B8   391 	MOVL	4(R0),R1		; get size of block
                       53   51   C0  00BC   392 	ADDL	R1,R3			; add in size of this block
                       56   51   D1  00BF   393 	CMPL	R1,R6			; is this smallest found?
                            03   1E  00C2   394 	BGEQU	40$			; branch if not
                       56   51   D0  00C4   395 	MOVL	R1,R6			; else save it
                       54   51   D1  00C7   396 40$:	CMPL	R1,R4			; is this largest found?
                            03   1B  00CA   397 	BLEQU	50$			; branch if not
                       54   51   D0  00CC   398 	MOVL	R1,R4			; else update largest
                       20   51   D1  00CF   399 50$:	CMPL	R1,#32			; is this one of the small ones?
                            02   1A  00D2   400 	BGTRU	60$			; branch if not
                            55   D6  00D4   401 	INCL	R5			; note another small hole
                            D9   11  00D6   402 60$:	BRB	30$			; go on to next block
                                     00D8   403 70$:	ENBINT                          ; reable interrupts
                                     00DB   404 
                                     00DB   405 ;
                                     00DB   406 ; Put the result of calculations into a safe place for later
                                     00DB   407 ;
                                     00DB   408 
              00000011'EF   52   D0  00DB   409 	MOVL	R2,HOLECNT		; save holecnt
              00000015'EF   53   D0  00E2   410 	MOVL	R3,HOLESUM      	; save holesum
              00000019'EF   54   D0  00E9   411 	MOVL	R4,BIGHOLE		; save bighole
              0000001D'EF   55   D0  00F0   412 	MOVL	R5,SMALLCNT		; save smallcnt
              00000021'EF   56   D0  00F7   413 	MOVL	R6,SMALLHOLE		; save small hole
              00000025'EF   57   D0  00FE   414 	MOVL	R7,IRPCNT		; save irpcnt
              00000029'EF   59   D0  0105   415 	MOVL	R9,LRPCNT               ; save lrpcnt
              0000002D'EF   5A   D0  010C   416 	MOVL	R10,SRPCNT              ; save srpcnt
                                 04  0113   417 	RET
                                     0114   418 
                                     0114   419 
                                     0114   420        .END
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  11
Symbol table                                                              4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)

BIGHOLE          00000019 R  D  05      
EXE$GL_ABSTIM    ********   X   05      
EXE$GL_NONPAGED  ********   X   06      
GETFCP           00000000 RG D  04      
GETPOOL          00000000 RG D  06      
HOLECNT          00000011 R  D  05      
HOLESUM          00000015 R  D  05      
IOC$GL_IRPFL     ********   X   06      
IOC$GL_LRPFL     ********   X   06      
IOC$GL_SRPFL     ********   X   06      
IRPCNT           00000025 R  D  05      
LRPCNT           00000029 R  D  05      
ML$L_PEEK        00000000 RG D  02      
ML$L_POKE        00000000 RG D  03      
PMS$GL_FCP2      ********   X   04      
PR$_IPL          ********   X   06      
SCANPOOL         0000004F R  D  06      
SMALLCNT         0000001D R  D  05      
SMALLHOLE        00000021 R  D  05      
SRPCNT           0000002D R  D  05      
SYS$CMKRNL       ********  GX   06      
UPTIME           00000000 RG D  05      

                                                +----------------+
                                                ! 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 .                       00000000  (    0.)  01 (  1.)  NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
ML$L_PEEK                       0000000A  (   10.)  02 (  2.)    PIC   USR   CON   REL   LCL   SHR NOEXE   RD    WRT NOVEC LONG  
ML$L_POKE                       00000014  (   20.)  03 (  3.)    PIC   USR   CON   REL   LCL   SHR NOEXE   RD    WRT NOVEC LONG  
GETFCP                          00000045  (   69.)  04 (  4.)    PIC   USR   CON   REL   LCL   SHR NOEXE   RD    WRT NOVEC LONG  
UPTIME                          00000031  (   49.)  05 (  5.)    PIC   USR   CON   REL   LCL   SHR NOEXE   RD    WRT NOVEC LONG  
GETPOOL                         00000114  (  276.)  06 (  6.)    PIC   USR   CON   REL   LCL   SHR NOEXE   RD    WRT NOVEC LONG  
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  12
Cross reference                                                           4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)


                                             +------------------------+
                                             ! Symbol Cross Reference !
                                             +------------------------+

SYMBOL          VALUE        DEFINITION      REFERENCES... 
------          -----        ----------      ------------- 
BIGHOLE         00000019-R   256    (1)    #-274    (1)    #-411    (1)    
EXE$GL_ABSTIM   00000000-XR                #-211    (1)    
EXE$GL_NONPAGED 00000000-XR                  337    (1)    
GETFCP          00000000-R   146    (1)    
GETPOOL         00000000-R   264    (1)    
HOLECNT         00000011-R   254    (1)    #-272    (1)    #-409    (1)    
HOLESUM         00000015-R   255    (1)    #-273    (1)    #-410    (1)    
IOC$GL_IRPFL    00000000-XR                  344    (1)    
IOC$GL_LRPFL    00000000-XR                  358    (1)    
IOC$GL_SRPFL    00000000-XR                  372    (1)    
IRPCNT          00000025-R   259    (1)    #-277    (1)    #-414    (1)    
LRPCNT          00000029-R   260    (1)    #-278    (1)    #-415    (1)    
ML$L_PEEK       00000000-R   42     (1)    
ML$L_POKE       00000000-R   89     (1)    
PMS$GL_FCP2     00000000-XR                #-155    (1)    #-166    (1)    #-167    (1)    #-168    (1)    #-169    (1)    
PR$_IPL         00000000-XR                #-338    (1)    #-403    (1)    
SCANPOOL        0000004F-R   315    (1)      266    (1)    
SMALLCNT        0000001D-R   257    (1)    #-275    (1)    #-412    (1)    
SMALLHOLE       00000021-R   258    (1)    #-276    (1)    #-413    (1)    
SRPCNT          0000002D-R   261    (1)    #-279    (1)    #-416    (1)    
SYS$CMKRNL      00000000-XR                  266    (1)    
UPTIME          00000000-R   209    (1)    
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  13
Cross reference                                                           4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)


                                             +------------------------+
                                             ! Macros Cross Reference !
                                             +------------------------+

MACRO             SIZE          DEFINITION       REFERENCES... 
-----             ----          ----------       ------------- 
$CMKRNL_S         1             266    (1)       266    (1)    
$PUSHADR          1             266    (1)       266    (1)    
DSBINT            1             338    (1)       338    (1)    
ENBINT            1             403    (1)       403    (1)    
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  14
Cross reference                                                           4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)


                                             +------------------------+
                                             ! Opcode Cross Reference !
                                             +------------------------+

OPCODE         VALUE     REFERENCES... 
------         -----     ------------- 
ADDL           00C0      155    (1)    166    (1)    167    (1)    168    (1)    169    (1)    392    (1)    
BEQL           0013      349    (1)    363    (1)    377    (1)    389    (1)    
BGEQU          001E      394    (1)    
BGTRU          001A      400    (1)    
BLEQU          001B      397    (1)    
BRB            0011      351    (1)    365    (1)    379    (1)    402    (1)    
CALLS          00FB      266    (1)    
CLRL           00D4      153    (1)    324    (1)    
CLRQ           007C      163    (1)    164    (1)    321    (1)    322    (1)    325    (1)    
CMPL           00D1      348    (1)    362    (1)    376    (1)    393    (1)    396    (1)    399    (1)    
EMUL           007A      211    (1)    
INCL           00D6      350    (1)    364    (1)    378    (1)    390    (1)    401    (1)    
MFPR           00DB      338    (1)    
MNEGL          00CE      323    (1)    
MOVAL          00DE      337    (1)    344    (1)    358    (1)    372    (1)    
MOVL           00D0      152    (1)    162    (1)    272    (1)    273    (1)    274    (1)    275    (1)    276    (1)    
                         277    (1)    278    (1)    279    (1)    345    (1)    347    (1)    359    (1)    361    (1)    
                         373    (1)    375    (1)    387    (1)    388    (1)    391    (1)    395    (1)    398    (1)    
                         409    (1)    410    (1)    411    (1)    412    (1)    413    (1)    414    (1)    415    (1)    
                         416    (1)    44     (1)    45     (1)    91     (1)    92     (1)    93     (1)    94     (1)    
                         95     (1)    
MTPR           00DA      338    (1)    403    (1)    
PUSHAL         00DF      266    (1)    
PUSHL          00DD      266    (1)    
RET            0004      172    (1)    212    (1)    281    (1)    417    (1)    47     (1)    97     (1)    
SOBGEQ         00F4      156    (1)    170    (1)    
TSTL           00D5      331    (1)    
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  15
Cross reference                                                           4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)


                                           +----------------------------+
                                           ! Directives Cross Reference !
                                           +----------------------------+

DIRECTIVE      REFERENCES... 
---------      ------------- 
.BLKL          254    (1)    255    (1)    256    (1)    257    (1)    258    (1)    259    (1)    260    (1)    261    (1)    
.END           420    (1)    
.ENDC          266    (1)    338    (1)    403    (1)    
.ENDM          266    (1)    338    (1)    403    (1)    
.ENTRY         146    (1)    209    (1)    264    (1)    42     (1)    89     (1)    
.GLOBL         266    (1)    
.IF            266    (1)    338    (1)    403    (1)    
.IFF           266    (1)    338    (1)    403    (1)    
.LIBRARY       265    (1)    
.PAGE          176    (1)    214    (1)    39     (1)    49     (1)    99     (1)    
.PSECT         145    (1)    208    (1)    263    (1)    41     (1)    88     (1)    
.SBTTL         100    (1)    177    (1)    215    (1)    40     (1)    50     (1)    
.TITLE         1      (1)    
.WORD          316    (1)    
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  16
Cross reference                                                           4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)


                                            +--------------------------+
                                            ! Register Cross Reference !
                                            +--------------------------+

REGISTER  NO. REFERENCES     REFERENCES... 
--------  --------------     ------------- 
AP                20         #-153    (1)    #-155    (1)    #-163    (1)    #-164    (1)    #-166    (1)    #-167    (1)    
                             #-168    (1)    #-169    (1)    #-211    (1)    #-272    (1)    #-273    (1)    #-274    (1)    
                             #-275    (1)    #-276    (1)    #-277    (1)    #-278    (1)    #-279    (1)    #-44     (1)    
                             #-91     (1)    #-93     (1)    
R0                26         #-152    (1)    #-155    (1)    #-156    (1)    #-162    (1)    #-166    (1)    #-167    (1)    
                             #-168    (1)    #-169    (1)    #-170    (1)    #-344    (1)    #-345    (1)    #-348    (1)    
                             #-358    (1)    #-359    (1)    #-362    (1)    #-372    (1)    #-373    (1)    #-376    (1)    
                             #-387    (1)    #-388    (1)    #-391    (1)    #-44     (1)    #-45     (1)    #-95     (1)    
R1                23         #-345    (1)    #-347    (1)    #-348    (1)    #-359    (1)    #-361    (1)    #-362    (1)    
                             #-373    (1)    #-375    (1)    #-376    (1)    #-391    (1)    #-392    (1)    #-393    (1)    
                             #-395    (1)    #-396    (1)    #-398    (1)    #-399    (1)    #-91     (1)    #-92     (1)    
                             #-94     (1)    
R10                3           316    (1)    #-378    (1)    #-416    (1)    
R2                 6           316    (1)    #-321    (1)    #-390    (1)    #-409    (1)    #-93     (1)    #-94     (1)    
R3                 3           316    (1)    #-392    (1)    #-410    (1)    
R4                 5           316    (1)    #-322    (1)    #-396    (1)    #-398    (1)    #-411    (1)    
R5                 3           316    (1)    #-401    (1)    #-412    (1)    
R6                 5           316    (1)    #-323    (1)    #-393    (1)    #-395    (1)    #-413    (1)    
R7                 4           316    (1)    #-324    (1)    #-350    (1)    #-414    (1)    
R8                 4           316    (1)    #-337    (1)    #-338    (1)    #-387    (1)    
R9                 4           316    (1)    #-325    (1)    #-364    (1)    #-415    (1)    
SP                 2         #-338    (1)    #-403    (1)    

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

Phase                    Page faults    CPU Time       Elapsed Time   
-----                    -----------    --------       ------------   
Initialization                   23     00:00:00.08    00:00:00.86
Command processing               26     00:00:00.20    00:00:01.07
Pass 1                          237     00:00:01.50    00:00:03.84
Symbol table sort                 0     00:00:00.00    00:00:00.11
Pass 2                          116     00:00:00.79    00:00:02.50
Symbol table output               6     00:00:00.02    00:00:00.02
Psect synopsis output             5     00:00:00.03    00:00:00.03
Cross-reference output           58     00:00:00.37    00:00:00.83
Assembler run totals            473     00:00:03.00    00:00:09.27

The working set limit was 512 pages.
6418 bytes (13 pages) of virtual memory were used to buffer the intermediate code.
There were 10 pages of symbol table space allocated to hold 22 non-local and 13 local symbols.
420 source lines were read in Pass 1, producing 36 object records in Pass 2.
4 pages of virtual memory were used to define 4 macros.
STATMAR                         .. STAT Macro routines                   20-MAY-1983 10:19:18  VAX-11 Macro V03-00         Page  17
VAX-11 Macro Run Statistics                                               4-MAY-1983 15:54:20  CAD$VOLSET:[GARY.STATS.SOURCE]STAT(1)


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

Macro library name                           Macros defined      
------------------                           --------------      
SYS$SYSROOT:[SYSLIB]LIB.MLB;1                           2        
SYS$SYSROOT:[SYSLIB]STARLET.MLB;1                       2        
TOTALS (all libraries)                                  4        

32 GETS were required to define 4 macros.

There were no errors, warnings or information messages.

/EN=(DBG,GBL,TR)/OBJECT=OBJ:STATMAR/LIST=LIS:STATMAR/CROSS=ALL SRC:STATMAR
