UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      86  READ ONLY DATA

   (2)     281  READ/WRITE DATA

   (2)     394  MAIN PROGRAM

   (2)     466  MAIN CODE

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   1

1.17                                                                                                                             (1)



                                     0000     1 ;	UETP prefix file (contains macro library file specs).

                                     0000     2 ;

                                     0000     3 	.LIBRARY	/EXECML$/	;SYSTEM MACROS

                                     0000     4 	.LIBRARY	/LIBD$:[SYSTST.OBJ]SYSTST.MLB/ ; PRIVATE UETP,SYSTST LIB

                                     0000     5 	.LIST	MEB

                                     0000     6 ;

                                     0000     1 	.TITLE UETDISK00 - VAX/VMS UETP DISK EXERCISER

                                     0000     2 	.IDENT	/1.17/

                                     0000     3 ;

                                     0000     4 ; COPYRIGHT (C) 1978

                                     0000     5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     6 ;

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

                                     0000     8 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000     9 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000    10 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000    11 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000    12 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000    13 ; REMAIN IN DEC.

                                     0000    14 ;

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

                                     0000    16 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000    17 ; CORPORATION.

                                     0000    18 ;

                                     0000    19 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000    20 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    21 ;

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY:

                                     0000    25 ; 	THIS MODULE WILL BE DISTRIBUTED WITH VAX/VMS UNDER THE UETP UIC.

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;	THIS MODULE EXERCISES ANY DISK IN THE STARLET SYSTEM USING

                                     0000    29 ;	THE RMS-32 BLOCK I/O FUNCTIONS. A LARGE FILE IS CREATED ON

                                     0000    30 ;	THE DISK TO BE TESTED, 2048(10)BYTE RECORDS ARE WRITTEN AT

                                     0000    31 ;	RANDOM VIRTUAL BLOCK NUMBERS IN THE FILE, AND THE  RECORDS

                                     0000    32 ;	ARE READ AND VERIFYED.

                                     0000    33 ;

                                     0000    34 ; ENVIRONMENT:

                                     0000    35 ; 	THE MODULE WILL RUN IN USER ACCESS MODE, WITH INTERRUPTS ENABLED

                                     0000    36 ;	AT ALL TIMES.  AN AST LIMIT MINIMUM OF 10(10) AND A BUFFERED

                                     0000    37 ;	I/O LIMIT MINIMUM OF 10(10) ARE REQUIRED TO RUN THIS PROGRAM.

                                     0000    38 ;

                                     0000    39 ; AUTHOR: LARRY JONES,	CREATION DATE: NOVEMBER, 1977

                                     0000    40 ;

                                     0000    41 ; MODIFIED BY:

                                     0000    42 ;

                                     0000    43 ;	, : VERSION

                                     0000    44 ; 1.0	- 

                                     0000    45 ; 1.01	-	REMOVED TEMP UETP MESSAGE DEF., REMOVED TEMP LDJ 24-JAN-78

                                     0000    46 ;		VERSION # ASCII, FIXED RK06 SYSTEM DISK TEST

                                     0000    47 ;		PROBLEM, AND FIXED BEGIN MESSAGE LATE PROB.

                                     0000    48 ; 1.02	-	FIXED HANG ON NO TESTABLE UNITS PROBLEM LDJ 30-JAN-78

                                     0000    49 ; 1.03  -	CHANGE LOGICAL NAMES TO UETP$xxxx  RAB 31-JAN-78

                                     0000    50 ; 1.04  -	CHANGE ENTRY MASK OF AST ROUTINES  RAB 6-MAR-78

                                     0000    51 ; 1.05  -	CHANGE U TO Y IN UETP$DETACH LOGICAL NAME RAB 7-MAR-78

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   2

1.17                                                                                                                             (1)



                                     0000    52 ; 1.06  -	CHANGE XIT CODE TO CTRL NAME FOR PDEV MESSAGE USE RAB 20-MAR-78

                                     0000    53 ; 1.07	-	ENHANCED NO MORE DEVICES TO TEST MESSAGES LDJ 23-MAR-78

                                     0000    54 ; 1.08  -	FIXED COMMENTS, MACRO LABELS, SUBW3 AND BITB(L) RAB 27-MAR-78

                                     0000    55 ; 1.09  -	MISC CLEANUP, DELETE UNNEEDED DATA  RAB 18-APR-78

                                     0000    56 ; 1.10  -	CLEANED UP RMS ERROR BRANCHES   PJT 29-APR-78

                                     0000    57 ;   		MADE SEARCH FOR # OF FREE BLOCKS

                                     0000    58 ;       	DEVICE INDEPENDENT		PJT 29-APR-78

                                     0000    59 ; 1.11  -	FIXED CHECK FOR SYSTEM CODE     PJT 9-MAY-78

                                     0000    60 ; 1.12  -	CLEANED UP ERROR MESSAGES

                                     0000    61 ;		REMOVED DUPLICATE CODE IN LAB1:

                                     0000    62 ;		GENERAL CLEAN UP		PJT 22-MAY-78

                                     0000    63 ; 1.13  -	CLEANED UP UNNEEDED VARIABLES   PJT 14-JUN-78

                                     0000    64 ;		PUT IN CODE TO CLEAR THE READ BUFFER IN THE

                                     0000    65 ;		DISKTEST MACRO.

                                     0000    66 ;		PUT ADDRESS OF TEST_DATA INTO RBF FIELD OF THE RAB

                                     0000    67 ;		IN THE DISKTEST MACRO.

                                     0000    68 ;		PUT IN CODE TO FLAG NO CONTROLLER FOUND.

                                     0000    69 ; 1.14  -	FIXED THE ERROR HANDLING ON    PJT 3-AUG-78

                                     0000    70 ;		THE $CLOSE, $DISCONNECT AND $CLOSE COMMANDS.

                                     0000    71 ;		DELETED ALL REFERENCES TO PC_SAVE.

                                     0000    72 ; 1.15	-	FIXED RM03 FILESIZE AND ERROR HANDLR ERR'N RAB 11-AUG-78

                                     0000    73 ; 1.16  -	DELETED ERROR HANDLING ON FINAL		PJT 17-AUG-78

                                     0000    74 ;		DISCONNECTS AND CLOSES

                                     0000    75 ;		CLEARED #BIT2 IN IOSTAT ON DETECTION OF CTRL/C

                                     0000    76 ; 1.17  -	DELETED NOTRAN CODE FOR CONTROLLER NAME	PJT 18-AUG-78

                                     0000    77 ;--

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   3

1.17            READ ONLY DATA                                                                                                   (2)



                                     0000    80 	.SBTTL	READ ONLY DATA

                                 00000000    81 	.PSECT	RODATA,NOEXE,NOWRT,LONG

                                     0000    82 ;

                                     0000    83 ;	DEFINITIONS

                                     0000    84 ;

                                     0000    85 ;

                           00000001  0000    86 	BIT0=1		; ONE BIT MASK

                           00000002  0000    87 	BIT1=2		; ONE BIT MASK

                           00000004  0000    88 	BIT2=4		; ONE BIT MASK

                                     0000    89 ;

                           00000040  0000    90 CLSTR_FLAG = 64

                                     0000    91 CLUSTER2:

                                     0000    92 	STRING	I,<CLUSTER2>

                           00000008  0000       	.LONG	$$$CHARS

                           00000008' 0004       	.ADDRESS .+4

            32 52 45 54 53 55 4C 43  0008       	.ASCII	\CLUSTER2\

                                     0010    93 CNTRLCMSG:

                                     0010    94 	STRING	I,<aborted via a user control C>

                           0000001C  0010       	.LONG	$$$CHARS

                           00000018' 0014       	.ADDRESS .+4

20 61 69 76 20 64 65 74 72 6F 62 61  0018       	.ASCII	\aborted via a user control C\

72 74 6E 6F 63 20 72 65 73 75 20 61  0024       

                        43 20 6C 6F  0030       

                                     0034    95 ;

                                     0034    96 ;

                                     0034    97 FILE_NAME_STR:

                           0000000D' 0034    98 	.LONG	NAME_SIZE

                           0000003C' 0038    99 	.ADDRESS FILE_NAME

                                     003C   100 FILE_NAME:

41 44 2E 56 45 44 49 4E 49 54 45 55  003C   101 	.ASCII	/UETINIDEV.DAT/

                                 54  0048       

                           0000000D  0049   102 	NAME_SIZE=.-FILE_NAME

                                     0049   103 ;

                           000007D0  0049   104 	ITERATION=2000

                                     0049   105 ;

                                     0049   106 LOGNAM:

                                     0049   107 	STRING	I,<UETP$CTRLNAME>

                           0000000D  0049       	.LONG	$$$CHARS

                           00000051' 004D       	.ADDRESS .+4

4D 41 4E 4C 52 54 43 24 50 54 45 55  0051       	.ASCII	\UETP$CTRLNAME\

                                 45  005D       

                                     005E   108 LOGNAM1:

                                     005E   109 	STRING	I,<UETP$DETACH>

                           0000000B  005E       	.LONG	$$$CHARS

                           00000066' 0062       	.ADDRESS .+4

   48 43 41 54 45 44 24 50 54 45 55  0066       	.ASCII	\UETP$DETACH\

                                     0071   110 LOGNAM2:

                                     0071   111 	STRING	I,<SYS$SYSTEM>

                           0000000A  0071       	.LONG	$$$CHARS

                           00000079' 0075       	.ADDRESS .+4

      4D 45 54 53 59 53 24 53 59 53  0079       	.ASCII	\SYS$SYSTEM\

                                     0083   112 NOMORDEV:

                                     0083   113 	STRING	I,<no more drives to test>

                           00000016  0083       	.LONG	$$$CHARS

                           0000008B' 0087       	.ADDRESS .+4

76 69 72 64 20 65 72 6F 6D 20 6F 6E  008B       	.ASCII	\no more drives to test\

      74 73 65 74 20 6F 74 20 73 65  0097       

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   4

1.17            READ ONLY DATA                                                                                                   (2)



                                     00A1   114 TSTNAM:

                                     00A1   115 	STRING	I,<UETDISK00>

                           00000009  00A1       	.LONG	$$$CHARS

                           000000A9' 00A5       	.ADDRESS .+4

         30 30 4B 53 49 44 54 45 55  00A9       	.ASCII	\UETDISK00\

                                     00B2   116 TTNAM:

                                     00B2   117 	STRING	I,<TT>

                           00000002  00B2       	.LONG	$$$CHARS

                           000000BA' 00B6       	.ADDRESS .+4

                              54 54  00BA       	.ASCII	\TT\

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   5

1.17            READ ONLY DATA                                                                                                   (2)



                                     00BC   119 ;

                                     00BC   120 ;*****************************************************

                                     00BC   121 ;		MACRO DEFINITIONS

                                     00BC   122 ;*****************************************************

                                     00BC   123 ;

                                     00BC   124 ;

                                     00BC   125 	.MACRO	BUFFERS	U

                                     00BC   126 ;

                                     00BC   127 ; BUFFER ALLOCATIONS 

                                     00BC   128 ;

                                     00BC   129 ITER'U:		; READ & WRITE TRANSFERS/UNIT

                                     00BC   130 	.LONG	0

                                     00BC   131 BLKNUM'U:

                                     00BC   132 	.LONG	0

                                     00BC   133 BUF'U:

                                     00BC   134 	.BLKB	2048

                                     00BC   135 ;

                                     00BC   136 ; RMS-32 REQUIREMENTS 

                                     00BC   137 ;

                                     00BC   138 	.ALIGN	LONG

                                     00BC   139 FAB'U:

                                     00BC   140 	.NLIST	

                                     00BC   141 	$FAB-

                                     00BC   142 	FAC=<BIO,GET,PUT>,-

                                     00BC   143 	FNA=FILE'U,-

                                     00BC   144 	FOP=SUP,-

                                     00BC   145 	FNS=FILEL'U,-

                                     00BC   146 	MRS=2048,-

                                     00BC   147 	ALQ=0

                                     00BC   148 	.LIST	

                                     00BC   149 ;

                                     00BC   150 RAB'U:

                                     00BC   151 	.NLIST	

                                     00BC   152 	$RAB-

                                     00BC   153 	FAB=FAB'U,-

                                     00BC   154 	MBF=8,-

                                     00BC   155 	RBF=TEST_DATA,-

                                     00BC   156 	UBF=BUF'U,-

                                     00BC   157 	USZ=2048,-

                                     00BC   158 	RSZ=2048,-

                                     00BC   159 	ROP=ASY

                                     00BC   160 	.LIST	

                                     00BC   161 ;

                                     00BC   162 FILE'U:

                                     00BC   163 	.BLKB	3

                                     00BC   164 	.ASCII	/U:/

                                     00BC   165 	.ASCII	/UETDATA/

                                     00BC   166 	.ASCII	/U/

                                     00BC   167 	.ASCII	/.DAT/;/1/

                                     00BC   168 	FILEL'U=.-FILE'U

                                     00BC   169 	.ENDM	BUFFERS

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   6

1.17            READ ONLY DATA                                                                                                   (2)



                                     00BC   171 ;

                                     00BC   172 	.MACRO	DISKTEST	N

                                     00BC   173 SUC'N:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

                                     00BC   174 	MOVC5	#0,BUF'N,#0,#2048,BUF'N	; CLEAR THE READ BUFFER

                                     00BC   175 	$READ	RAB=RAB'N,ERR=ERR'N,SUC=SUCA'N

                                     00BC   176 	RET

                                     00BC   177 SUCA'N:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

                                     00BC   178 	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                                     00BC   179 	BEQL	5$		; BR IF NOT

                                     00BC   180 	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                                     00BC   181 	BRW	30$		; EXIT IF YES

                                     00BC   182 5$:

                                     00BC   183 	CMPC3	#2048,TEST_DATA,BUF'N ; IS DATA GOOD?

                                     00BC   184 	BNEQ	20$		; BR IF NOT

                                     00BC   185 10$:

                                     00BC   186 	INCL	ITER'N		; INCREMENT ITERATION COUNT

                                     00BC   187 	CMPL	ITER'N,ITERATIONS ; IS THIS UNIT  DONE?

                                     00BC   188 	BNEQ	15$		; BR IF NOT

                                     00BC   189 	BISB2	#1@N,DONE_FLAG	; SET DONE FLAG

                                     00BC   190 	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                                     00BC   191 	BEQL	30$		; BR IF YES

                                     00BC   192 	RET			; EXIT AST LEVEL

                                     00BC   193 15$:

                                     00BC   194 	MOVL 	'N*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                                     00BC   195 	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

                                     00BC   196 	MOVL	BLKNUM,RAB'N+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

                                     00BC   197 	MOVL	BLKNUM,BLKNUM'N	; SAVE THE BLKNUM

                                     00BC   198 	MOVAL	TEST_DATA,RAB'N+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                                     00BC   199 	$WRITE	RAB=RAB'N,ERR=ERR'N,SUC=SUC'N

                                     00BC   200 	RET

                                     00BC   201 20$:

                                     00BC   202 	MOVB	#N,UNIT_ERROR	; SET BAD UNIT NUMBER

                                     00BC   203 	MOVZWL	R0,ARGS		; GET BYTE #

                                     00BC   204 	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

                                     00BC   205 	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                                     00BC   206 	JSB	DATA_ERROR	; REPORT DATA ERROR

                                     00BC   207 	BRW	10$		; CONTINUE

                                     00BC   208 30$:

                                     00BC   209 	BRW	SUC_EXIT	; EXIT CLEAN!

                                     00BC   210 ;

                                     00BC   211 ERR'N:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

                                     00BC   212 	MOVL	RAB'N+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

                                     00BC   213 	MOVL	RAB'N+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

                                     00BC   214 	MOVB	#N,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

                                     00BC   215 	CALLS	#0,RMS_ERR		; REPORT IT

                                     00BC   216 	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                                     00BC   217 	BNEQ	10$			; BRANCH IF YES

                                     00BC   218 	PUTMSG	<FAB'N+FAB$L_STS,-	; PRINT RMS FAB ERROR MSG.

                                     00BC   219 		 FAB'N+FAB$L_STV>

                                     00BC   220 	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                                     00BC   221 	BRW	ERR_EXIT		; NO

                                     00BC   222 10$:

                                     00BC   223 	RET

                                     00BC   224 	.ENDM	DISKTEST

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   7

1.17            READ ONLY DATA                                                                                                   (2)



                                     00BC   226 ;

                                     00BC   227 	.MACRO	STARTUP	M,?LAB1,?LAB2,?LAB3,?LAB4,?LAB5,?LAB6

                                     00BC   228 	BITB	#1@M,UNIT_MASK		; TEST THIS DRIVE?

                                     00BC   229 	BNEQ	LAB1			; BR IF YES

                                     00BC   230 	BRW	LAB5			; ELSE BRW

                                     00BC   231 LAB1:

                                     00BC   232 	MOVC3	#3,CNTRL_NAME,FILE'M	; SET CONTROLLER NAME

                                     00BC   233 	MOVL	FILE_SIZE'M,FAB'M+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                                     00BC   234 	$CREATE	FAB=FAB'M,ERR=ERR'M	; OPEN THE FILE

                                     00BC   235 	BITB	#BIT1,IOSTAT		; ERROR?

                                     00BC   236 	BEQL	LAB3			; BR IF NOT

                                     00BC   237 	BRW	LAB2			; PRINT THE ERROR

                                     00BC   238 LAB3:

                                     00BC   239 	$CONNECT RAB=RAB'M,ERR=ERR'M	; CONNECT THE RAB TO THE FAB

                                     00BC   240 	BITB	#BIT1,IOSTAT		; ERROR?

                                     00BC   241 	BEQL	LAB4			; BR IF NOT

                                     00BC   242 LAB2:

                                     00BC   243 	CMPZV	#0,#3,FAB'M+FAB$L_STS,#4 ; IS SEVERITY = 4?

                                     00BC   244 	BNEQ	LAB6			; BR IF NO

                                     00BC   245 	SUBL2	#2,FAB'M+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     00BC   246 LAB6:

                                     00BC   247 	PUTMSG	<FAB'M+FAB$L_STS,-

                                     00BC   248 		FAB'M+FAB$L_STV>	; PRINT RMS ERROR

                                     00BC   249 	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                                     00BC   250 	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                                     00BC   251 	BNEQ	LAB5			; BR IF NOT

                                     00BC   252 	BRW	ERR_EXIT		; ELSE DIE

                                     00BC   253 LAB4:

                                     00BC   254 	MOVL	'M*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                                     00BC   255 	JSB	GEN_RAN			; MAKE A NEW DISK ADR

                                     00BC   256 	MOVL	BLKNUM,BLKNUM'M		; SAVE THIS BLOCK NUMBER

                                     00BC   257 	MOVL	BLKNUM,RAB'M+RAB$L_BKT	; SET DSK ADR

                                     00BC   258 	$WRITE	RAB=RAB'M,ERR=ERR'M,SUC=SUC'M ; DO A WRITE

                                     00BC   259 LAB5:

                                     00BC   260 	.ENDM	STARTUP

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   8

1.17            READ ONLY DATA                                                                                                   (2)



                                     00BC   262 ;

                                     00BC   263 	.MACRO	END	B,?LAB1,?LAB2

                                     00BC   264 	ROTL	R3,R4,R4		; SHIFT MASK

                                     00BC   265 	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                                     00BC   266 	BNEQ	LAB1			; BR IF YES

                                     00BC   267 	BRW	LAB2			; END

                                     00BC   268 LAB1:

                                     00BC   269 	$DISCONNECT RAB=RAB'B,ERR=ERR'B ; ELSE DISCONNECT RAB

                                     00BC   270 	$CLOSE	FAB=FAB'B,ERR=ERR'B	; CLOSE THE FILE

                                     00BC   271 	$ERASE	FAB=FAB'B,ERR=ERR'B	; AND WIPE IT CLEAN

                                     00BC   272 LAB2:

                                     00BC   273 	.ENDM	END

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page   9

1.17            READ/WRITE DATA                                                                                                  (2)



                                     00BC   275 	.SBTTL	READ/WRITE DATA

                                 00000000   276 	.PSECT	RWDATA,WRT,NOEXE,LONG

                                     0000   277 ;

                                     0000   278 ARGS:

                           0000000C  0000   279 	.BLKL	3	; SPACE FOR 3 ARGUMENTS

                                     000C   280 BLKNUM:

                           00000000  000C   281 	.LONG	0	; DISK BLOCK NUMBER

                                     0010   282 CNTRL_NAME_STR:

                           00000003  0010   283 	.LONG	3

                           00000029' 0014   284 	.ADDRESS CNTRL_NAME

                                     0018   285 PROCESS_NAME:

                           0000000C' 0018   286 	.LONG	PNL

                           00000020' 001C   287 	.ADDRESS	.+4

         5F 30 4B 53 49 44 54 45 55  0020   288 	.ASCII	/UETDISK0_/

                                     0029   289 CNTRL_NAME:

                           00000000  0029   290 	.LONG	0	; DISK CNTRL NAME IN ASCII

                           0000000C  002D   291 	PNL=.-PROCESS_NAME-9

                                     002D   292 CYL:

                           00000000  002D   293 	.LONG	0	; # OF CYLINDERS ON VOLUME

                                     0031   294 DIEARG:

                           00000000  0031   295 	.LONG	0	; DIED PC SAVE

                                     0035   296 DONE_FLAG:

                                 00  0035   297 	.BYTE	0	; DONE FLAG BYTE

                                     0036   298 ERROR_CNT:

                           00000000  0036   299 	.LONG	0	; CUM. ERROR COUNT

                                     003A   300 ERR_STRLEN:

                           00000000  003A   301 	.LONG	0	; ERROR FAO STRING LENGTH

                                     003E   302 FAO_BUF:

                           00000100' 003E   303 	.LONG	FAO_BUFL

                           00000046' 0042   304 	.ADDRESS FAO_BUFFER

                                     0046   305 FAO_BUFFER:

                           00000146  0046   306 	.BLKB	256

                           00000100  0146   307 	FAO_BUFL=.-FAO_BUFFER

                                     0146   308 FILE_SIZE0:

                           00000000  0146   309 	.LONG	0	; FILE SIZE FOR UNIT 0

                                     014A   310 FILE_SIZE1:

                           00000000  014A   311 	.LONG	0	; FILE SIZE FOR UNIT 1

                                     014E   312 FILE_SIZE2:

                           00000000  014E   313 	.LONG	0	; FILE SIZE FOR UNIT 2

                                     0152   314 FILE_SIZE3:

                           00000000  0152   315 	.LONG	0	; FILE SIZE FOR UNIT 3

                                     0156   316 FILE_SIZE4:

                           00000000  0156   317 	.LONG	0	; FILE SIZE FOR UNIT 4

                                     015A   318 FILE_SIZE5:

                           00000000  015A   319 	.LONG	0	; FILE SIZE FOR UNIT 5

                                     015E   320 FILE_SIZE6:

                           00000000  015E   321 	.LONG	0	; FILE SIZE FOR UNIT 6

                                     0162   322 FILE_SIZE7:

                           00000000  0162   323 	.LONG	0	; FILE SIZE FOR UNIT 7

                                     0166   324 FINDPOS:

                           00000000  0166   325 	.LONG	0	; PTR. TO # OF FREE BLOCKS

                                     016A   326 IOSTAT:

                                     016A   327 			; BIT0 IS USED FOR DEVICE NOT FOUND FLAG

                                     016A   328 			; BIT1 IS RMS ERROR FLAG

                                     016A   329 			; BIT2 IS CONTROL C FLAG

                                 00  016A   330 	.BYTE	0	; I/O STATUS BLOCK

                                     016B   331 ITERATIONS:

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  10

1.17            READ/WRITE DATA                                                                                                  (2)



                           000007D0  016B   332 	.LONG	ITERATION ; NUMBER OF ITERATIONS PER PASS

                                     016F   333 POS:

                           00000000  016F   334 	.LONG	0	; START PTR. TO FIND # OF FREE BLOCKS ON VOLUME

                                     0173   335 RANDOM1:		; RANDOM WORD #1

                           AAAAAAAA  0173   336 	.LONG	^XAAAAAAAA

                                     0177   337 RANDOM2:		; RANDOM WORD #2

                           A72EA72E  0177   338 	.LONG	^XA72EA72E

                                     017B   339 RECORD:

                           000001AD  017B   340 	.BLKB	50

                                     01AD   341 RMS_ERR_STS:

                           00000000  01AD   342 	.LONG	0	; RMS STS ERROR CODE

                                     01B1   343 RMS_ERR_STV:

                           00000000  01B1   344 	.LONG	0	; RMS STV ERROR CODE

                                     01B5   345 SEC:

                           00000000  01B5   346 	.LONG	0	; # OF SECTORS ON VOLUME

                                     01B9   347 STRLEN:

                           00000000  01B9   348 	.LONG	0	; FAO OUTPUT LENGTH

                                     01BD   349 TEST_DATA:

                           000009BD  01BD   350 	.BLKB	2048

                                     09BD   351 TRAC:

                           00000000  09BD   352 	.LONG	0	; # OF TRACKS ON VOLUME

                                     09C1   353 TTCHAN:

                           00000000  09C1   354 	.LONG	0	; TTY CHANNEL LONG WORD LOCATION

                                     09C5   355 UNIT_ERROR:

                                 00  09C5   356 	.BYTE	0	; UNIT NUMBER OF FAILING DRIVE

                                     09C6   357 UNIT_MASK:

                                 00  09C6   358 	.BYTE	0	; UNIT MASK

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  11

1.17            READ/WRITE DATA                                                                                                  (2)



                                     09C7   360 	.LIST	MEB

                                     09C7   361 	BUFFERS	<0>

                                     09C7       ITER0:		; READ & WRITE TRANSFERS/UNIT

                           00000000  09C7       	.LONG	0

                                     09CB       BLKNUM0:

                           00000000  09CB       	.LONG	0

                                     09CF       BUF0:

                           000011CF  09CF       	.BLKB	2048

                                     11CF       	.ALIGN	LONG

                                     11D0       FAB0:

                                     1220       RAB0:

                                     1264       FILE0:

                           00001267  1264       	.BLKB	3

                              3A 30  1267       	.ASCII	/0:/

               41 54 41 44 54 45 55  1269       	.ASCII	/UETDATA/

                                 30  1270       	.ASCII	/0/

                        54 41 44 2E  1271       	.ASCII	/.DAT/;/1/

                                     1275   362 	BUFFERS	<1>

                                     1275       ITER1:		; READ & WRITE TRANSFERS/UNIT

                           00000000  1275       	.LONG	0

                                     1279       BLKNUM1:

                           00000000  1279       	.LONG	0

                                     127D       BUF1:

                           00001A7D  127D       	.BLKB	2048

                                     1A7D       	.ALIGN	LONG

                                     1A80       FAB1:

                                     1AD0       RAB1:

                                     1B14       FILE1:

                           00001B17  1B14       	.BLKB	3

                              3A 31  1B17       	.ASCII	/1:/

               41 54 41 44 54 45 55  1B19       	.ASCII	/UETDATA/

                                 31  1B20       	.ASCII	/1/

                        54 41 44 2E  1B21       	.ASCII	/.DAT/;/1/

                                     1B25   363 	BUFFERS	<2>

                                     1B25       ITER2:		; READ & WRITE TRANSFERS/UNIT

                           00000000  1B25       	.LONG	0

                                     1B29       BLKNUM2:

                           00000000  1B29       	.LONG	0

                                     1B2D       BUF2:

                           0000232D  1B2D       	.BLKB	2048

                                     232D       	.ALIGN	LONG

                                     2330       FAB2:

                                     2380       RAB2:

                                     23C4       FILE2:

                           000023C7  23C4       	.BLKB	3

                              3A 32  23C7       	.ASCII	/2:/

               41 54 41 44 54 45 55  23C9       	.ASCII	/UETDATA/

                                 32  23D0       	.ASCII	/2/

                        54 41 44 2E  23D1       	.ASCII	/.DAT/;/1/

                                     23D5   364 	BUFFERS	<3>

                                     23D5       ITER3:		; READ & WRITE TRANSFERS/UNIT

                           00000000  23D5       	.LONG	0

                                     23D9       BLKNUM3:

                           00000000  23D9       	.LONG	0

                                     23DD       BUF3:

                           00002BDD  23DD       	.BLKB	2048

                                     2BDD       	.ALIGN	LONG

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  12

1.17            READ/WRITE DATA                                                                                                  (2)



                                     2BE0       FAB3:

                                     2C30       RAB3:

                                     2C74       FILE3:

                           00002C77  2C74       	.BLKB	3

                              3A 33  2C77       	.ASCII	/3:/

               41 54 41 44 54 45 55  2C79       	.ASCII	/UETDATA/

                                 33  2C80       	.ASCII	/3/

                        54 41 44 2E  2C81       	.ASCII	/.DAT/;/1/

                                     2C85   365 	BUFFERS	<4>

                                     2C85       ITER4:		; READ & WRITE TRANSFERS/UNIT

                           00000000  2C85       	.LONG	0

                                     2C89       BLKNUM4:

                           00000000  2C89       	.LONG	0

                                     2C8D       BUF4:

                           0000348D  2C8D       	.BLKB	2048

                                     348D       	.ALIGN	LONG

                                     3490       FAB4:

                                     34E0       RAB4:

                                     3524       FILE4:

                           00003527  3524       	.BLKB	3

                              3A 34  3527       	.ASCII	/4:/

               41 54 41 44 54 45 55  3529       	.ASCII	/UETDATA/

                                 34  3530       	.ASCII	/4/

                        54 41 44 2E  3531       	.ASCII	/.DAT/;/1/

                                     3535   366 	BUFFERS	<5>

                                     3535       ITER5:		; READ & WRITE TRANSFERS/UNIT

                           00000000  3535       	.LONG	0

                                     3539       BLKNUM5:

                           00000000  3539       	.LONG	0

                                     353D       BUF5:

                           00003D3D  353D       	.BLKB	2048

                                     3D3D       	.ALIGN	LONG

                                     3D40       FAB5:

                                     3D90       RAB5:

                                     3DD4       FILE5:

                           00003DD7  3DD4       	.BLKB	3

                              3A 35  3DD7       	.ASCII	/5:/

               41 54 41 44 54 45 55  3DD9       	.ASCII	/UETDATA/

                                 35  3DE0       	.ASCII	/5/

                        54 41 44 2E  3DE1       	.ASCII	/.DAT/;/1/

                                     3DE5   367 	BUFFERS	<6>

                                     3DE5       ITER6:		; READ & WRITE TRANSFERS/UNIT

                           00000000  3DE5       	.LONG	0

                                     3DE9       BLKNUM6:

                           00000000  3DE9       	.LONG	0

                                     3DED       BUF6:

                           000045ED  3DED       	.BLKB	2048

                                     45ED       	.ALIGN	LONG

                                     45F0       FAB6:

                                     4640       RAB6:

                                     4684       FILE6:

                           00004687  4684       	.BLKB	3

                              3A 36  4687       	.ASCII	/6:/

               41 54 41 44 54 45 55  4689       	.ASCII	/UETDATA/

                                 36  4690       	.ASCII	/6/

                        54 41 44 2E  4691       	.ASCII	/.DAT/;/1/

                                     4695   368 	BUFFERS	<7>

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  13

1.17            READ/WRITE DATA                                                                                                  (2)



                                     4695       ITER7:		; READ & WRITE TRANSFERS/UNIT

                           00000000  4695       	.LONG	0

                                     4699       BLKNUM7:

                           00000000  4699       	.LONG	0

                                     469D       BUF7:

                           00004E9D  469D       	.BLKB	2048

                                     4E9D       	.ALIGN	LONG

                                     4EA0       FAB7:

                                     4EF0       RAB7:

                                     4F34       FILE7:

                           00004F37  4F34       	.BLKB	3

                              3A 37  4F37       	.ASCII	/7:/

               41 54 41 44 54 45 55  4F39       	.ASCII	/UETDATA/

                                 37  4F40       	.ASCII	/7/

                        54 41 44 2E  4F41       	.ASCII	/.DAT/;/1/

                                     4F45   369 	.NLIST	MEB

                                     4F45   370 	.ALIGN	LONG

                                     4F48   371 FAB:				; FAB FOR FILE "UETINIDEV.DAT"

                                     4F48   372 	$FAB-

                                     4F48   373 	FAC=GET,-

                                     4F48   374 	FNA=FILE_NAME,-

                                     4F48   375 	FNS=NAME_SIZE,-

                                     4F48   376 	MRS=50,-

                                     4F48   377 	ORG=SEQ

                                     4F98   378 ;

                                     4F98   379 RAB:				; RAB FOR FILE "UETINIDEV.DAT"

                                     4F98   380 	$RAB-

                                     4F98   381 	FAB=FAB,-

                                     4F98   382 	MBF=1,-

                                     4F98   383 	RAC=SEQ,-

                                     4F98   384 	UBF=RECORD,-

                                     4F98   385 	USZ=48

                                     4FDC   386 ;

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  14

1.17            MAIN PROGRAM                                                                                                     (2)



                                     4FDC   388 	.SBTTL	MAIN PROGRAM

                                 00000000   389 	.PSECT	UETDISK00,EXE,NOWRT,LONG

                                     0000   390 	.LIST	MEB

                                     0000   391 ;

                                     0000   392 ; THIS ROUTINE IS EXECUTED IF AN RMS-32 ERROR OCCURS.

                                     0000   393 ;

                                     0000   394 RMS_ERR:

                               0FFC  0000   395 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ; ENTRY MASK

                 00000036'EF     D6  0002   396 	INCL	ERROR_CNT			; BUMP CUM. ERROR COUNT

            03            00     ED  0008   397 	CMPZV	#0,#3,RMS_ERR_STS,#4		; IS IT FATAL?

            04   000001AD'EF         000B       

                          07     12  0011   398 	BNEQ	10$				; BR IF NO

   000001AD'EF            02     C2  0013   399 	SUBL2	#2,RMS_ERR_STS			; CHANGE FATAL TO ERROR SEVERITY

                                     001A   400 10$:

                                     001A   401 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     001A   402 		#UETP$_DESTP,#4,#TSTNAM,-

                                     001A   403 		#CNTRL_NAME_STR,UNIT_ERROR,#0,-

                                     001A   404 		RMS_ERR_STS,RMS_ERR_STV>	; PRINT ERROR MESSAGE

                 000001B1'EF     DD  001A       	  	PUSHL	RMS_ERR_STV

                 000001AD'EF     DD  0020       	  	PUSHL	RMS_ERR_STS

                          00     DD  0026       	  	PUSHL	#0

                 000009C5'EF     DD  0028       	  	PUSHL	UNIT_ERROR

                 00000010'8F     DD  002E       	  	PUSHL	#CNTRL_NAME_STR

                 000000A1'8F     DD  0034       	  	PUSHL	#TSTNAM

                          04     DD  003A       	  	PUSHL	#4

                 00000000'8F     DD  003C       	  	PUSHL	#UETP$_DESTP

                 00000036'EF     DD  0042       	  	PUSHL	ERROR_CNT

                          01     DD  0048       	  	PUSHL	#1

                 00000000'8F     DD  004A       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            0B     FB  0050       		CALLS	#$$T1,@#LIB$SIGNAL

            55            01     D0  0057   405 	MOVL	#1,R5				; SET SHIFT COUNT

            55   000009C5'EF     9C  005A   406 	ROTL	UNIT_ERROR,R5,R6		; MAKE A MASK

                          56         0061       

   000009C6'EF            56     8A  0062   407 	BICB2	R6,UNIT_MASK			; DESELECT THE UNIT

   0000016A'EF            02     88  0069   408 	BISB2	#BIT1,IOSTAT			; SET ERROR FLAG

                                 04  0070   409 	RET					; RETURN

                                     0071   410 ;

                                     0071   411 DIE:

                 00000036'EF     D6  0071   412 	INCL	ERROR_CNT			; BUMP CUM. ERROR COUNT

            52            50     D0  0077   413 	MOVL	R0,R2				; SAVE ERROR CODE

                                     007A   414 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     007A   415 		R2,#UETP$_ATPC,#1,DIEARG>	; PRINT ERROR MESSAGE

                 00000031'EF     DD  007A       	  	PUSHL	DIEARG

                          01     DD  0080       	  	PUSHL	#1

                 00000000'8F     DD  0082       	  	PUSHL	#UETP$_ATPC

                          52     DD  0088       	  	PUSHL	R2

                 00000036'EF     DD  008A       	  	PUSHL	ERROR_CNT

                          01     DD  0090       	  	PUSHL	#1

                 00000000'8F     DD  0092       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            07     FB  0098       		CALLS	#$$T1,@#LIB$SIGNAL

                          176B   31  009F   416 	BRW	LAST1				; EXIT IN DISGRACE

                                     00A2   417 ;

                                     00A2   418 RANBUF:						; FILL BUFFER WITH RANDOM PATTERN ROUTINE

            52   000001BD'EF     DE  00A2   419 	MOVAL	TEST_DATA,R2			; SET BUFFER ADR

            53   00000200 8F     D0  00A9   420 	MOVL	#512,R3				; 2048 BYTES SIZE

                                     00B0   421 1$:

   00000173'EF   00000177'EF     C0  00B0   422 	ADDL2	RANDOM2,RANDOM1			; RANDOMIZE

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  15

1.17            MAIN PROGRAM                                                                                                     (2)



            82   00000173'EF     D0  00BB   423 	MOVL	RANDOM1,(R2)+			; PUT IT IN THE BUFFER

            EB            53     F5  00C2   424 	SOBGTR	R3,1$				; DO THE WHOLE THING!

                                 05  00C5   425 	RSB					; RETURN

                                     00C6   426 ;

                                     00C6   427 DATA_ERROR:

                 00000036'EF     D6  00C6   428 	INCL	ERROR_CNT			; BUMP THE CUM. ERROR CNT

   00000800 8F   00000000'EF     C3  00CC   429 	SUBL3	ARGS,#2048,ARGS			; CONVERT TO AN OFFSET

                 00000000'EF         00D7       

                                     00DC   430 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     00DC   431 		#UETP$_DATAER,#5,#CNTRL_NAME_STR,-

                                     00DC   432 		UNIT_ERROR,ARGS,ARGS+4,ARGS+8>

                 00000008'EF     DD  00DC       	  	PUSHL	ARGS+8

                 00000004'EF     DD  00E2       	  	PUSHL	ARGS+4

                 00000000'EF     DD  00E8       	  	PUSHL	ARGS

                 000009C5'EF     DD  00EE       	  	PUSHL	UNIT_ERROR

                 00000010'8F     DD  00F4       	  	PUSHL	#CNTRL_NAME_STR

                          05     DD  00FA       	  	PUSHL	#5

                 00000000'8F     DD  00FC       	  	PUSHL	#UETP$_DATAER

                 00000036'EF     DD  0102       	  	PUSHL	ERROR_CNT

                          01     DD  0108       	  	PUSHL	#1

                 00000000'8F     DD  010A       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            0A     FB  0110       		CALLS	#$$T1,@#LIB$SIGNAL

                                 05  0117   433 	RSB					; RETURN

                                     0118   434 ;

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  16

1.17            MAIN PROGRAM                                                                                                     (2)



                                     0118   436 GEN_RAN:

   00000173'EF   00000177'EF     C0  0118   437 	ADDL2	RANDOM2,RANDOM1			; GEN NEW RANDOM 32 BIT NUMBER

            57            57     CE  0123   438 	MNEGL	R7,R7				; SET MASK FOR DISK ADR

   00000173'EF            57     CB  0126   439 	BICL3	R7,RANDOM1,BLKNUM		; GET NEW DISK ADR

                 0000000C'EF         012D       

                                 05  0132   440 	RSB					; RETURN

                                     0133   441 ;

                                     0133   442 FILE_ERR:

                               0FFC  0133   443 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

   00000000'8F   00004FA0'EF     D1  0135   444 	CMPL	RAB+RAB$L_STS,#RMS$_EOF		; IS THIS THE END?

                          0E     13  0140   445 	BEQL	10$				; BR IF YES

   0000016A'EF            02     88  0142   446 	BISB2	#BIT1,IOSTAT			; RMS ERROR

                 00000036'EF     D6  0149   447 	INCL	ERROR_CNT			; BUMP THE ERROR COUNT

                                 04  014F   448 	RET					; RETURN

                                     0150   449 10$:

   0000016A'EF            01     88  0150   450 	BISB2	#BIT0,IOSTAT			; SET DEVICE NOT FOUND FLAG

                                 04  0157   451 	RET					; RETURN

                                     0158   452 ;

                                     0158   453 CCASTHAND:

                               0FFC  0158   454 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ; ENTRY MASK

                                     015A   455 	PUTMSG	<#UETP$_TEXT,#1,#CNTRLCMSG>	; TYPE ABORT MESSAGE

                 00000010'8F     DD  015A       	  	PUSHL	#CNTRLCMSG

                          01     DD  0160       	  	PUSHL	#1

                 00000000'8F     DD  0162       	  	PUSHL	#UETP$_TEXT

   00000000'9F            03     FB  0168       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            04     88  016F   456 	BISB2	#BIT2,IOSTAT			; SET THE CONTROL C FLAG

                                 04  0176   457 	RET					; RETURN

                                     0177   458 ;

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  17

1.17            MAIN CODE                                                                                                        (2)



                                     0177   460 	.SBTTL	MAIN CODE

                                     0177   461 ;

                                     0177   462 ; THIS IS THE MAIN CODE FOR THE DISK TEST. A 2048(10)BYTE RECORD

                                     0177   463 ; IS WRITTEN, READ, AND DATA CHECKED AT RANDOM DISK ADDRESS'S ON

                                     0177   464 ; THE BLK I/O FILE "UETDATA0.DAT".

                                     0177   465 ;

                                     0177   466 UETDISK00::

                               0FFC  0177   467 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;ENTRY MASK

                                     0179   468 	$ASCEFC_S	#CLSTR_FLAG,CLUSTER2 ; ASSIGN COMMON E.F. CLUSTER

                          00     DD  0179       		PUSHL	#0

                          00     DD  017B       		PUSHL	#0

                 00000000'EF     7F  017D       		PUSHAQ	CLUSTER2

                 00000040 8F     DD  0183       		PUSHL	#CLSTR_FLAG

   00000000'GF            04     FB  0189       		CALLS	#4,G^SYS$ASCEFC

                                     0190   469 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  0190       30000$:	BLBS	R0,30001$

   00000031'EF         FA AF     DE  0193       	MOVAL	30000$,DIEARG

                          FED3   31  019B       	BRW	DIE

                                     019E       30001$:

                                     019E   470 	$TRNLOG_S	LOGNAM,STRLEN,FAO_BUF,,,#5 ; GET CONTROLLER NAME

                          05     DD  019E       		PUSHL	#5

                          00     DD  01A0       		PUSHL	#0

                          00     DD  01A2       		PUSHL	#0

                 0000003E'EF     7F  01A4       		PUSHAQ	FAO_BUF

                 000001B9'EF     3F  01AA       		PUSHAW	STRLEN

                 00000049'EF     7F  01B0       		PUSHAQ	LOGNAM

   00000000'GF            06     FB  01B6       		CALLS	#6,G^SYS$TRNLOG

                                     01BD   471 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  01BD       30002$:	BLBS	R0,30003$

   00000031'EF         FA AF     DE  01C0       	MOVAL	30002$,DIEARG

                          FEA6   31  01C8       	BRW	DIE

                                     01CB       30003$:

                                     01CB   472 	$SETEF_S	#CLSTR_FLAG	; TELL UETPDEV01 TO CONTINUE

                 00000040 8F     DD  01CB       		PUSHL	#CLSTR_FLAG

   00000000'GF            01     FB  01D1       		CALLS	#1,G^SYS$SETEF

                                     01D8   473 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  01D8       30004$:	BLBS	R0,30005$

   00000031'EF         FA AF     DE  01DB       	MOVAL	30004$,DIEARG

                          FE8B   31  01E3       	BRW	DIE

                                     01E6       30005$:

   00000029'EF   00000046'EF     D0  01E6   474 	MOVL	FAO_BUFFER,CNTRL_NAME	; SAVE CONTROLLER NAME

                                     01F1   475 	PUTMSG	<#UETP$_BEGIND,#2,#TSTNAM,#0> ; MENTION STARTING MESSAGE

                          00     DD  01F1       	  	PUSHL	#0

                 000000A1'8F     DD  01F3       	  	PUSHL	#TSTNAM

                          02     DD  01F9       	  	PUSHL	#2

                 00000000'8F     DD  01FB       	  	PUSHL	#UETP$_BEGIND

   00000000'9F            04     FB  0201       		CALLS	#$$T1,@#LIB$SIGNAL

         44 8F   00000029'EF     91  0208   476 	CMPB	CNTRL_NAME,#^A/D/	; IS THIS REALLY A DISK?

                          03     13  0210   477 	BEQL	20$			; BR IF YES

                          138F   31  0212   478 	BRW	ERR_EXIT		; EXIT IN DISGUST!

                                     0215   479 20$:

                                     0215   480 	$SETPRN_S	PROCESS_NAME	; SET THE PROCESS NAME

                 00000018'EF     7F  0215       		PUSHAQ	PROCESS_NAME

   00000000'GF            01     FB  021B       		CALLS	#1,G^SYS$SETPRN

                                     0222   481 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  0222       30006$:	BLBS	R0,30007$

   00000031'EF         FA AF     DE  0225       	MOVAL	30006$,DIEARG

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  18

1.17            MAIN CODE                                                                                                        (2)



                          FE41   31  022D       	BRW	DIE

                                     0230       30007$:

                                     0230   482 	$TRNLOG_S LOGNAM1,STRLEN,FAO_BUF,,,#5 ; ARE WE DETACHED?

                          05     DD  0230       		PUSHL	#5

                          00     DD  0232       		PUSHL	#0

                          00     DD  0234       		PUSHL	#0

                 0000003E'EF     7F  0236       		PUSHAQ	FAO_BUF

                 000001B9'EF     3F  023C       		PUSHAW	STRLEN

                 0000005E'EF     7F  0242       		PUSHAQ	LOGNAM1

   00000000'GF            06     FB  0248       		CALLS	#6,G^SYS$TRNLOG

                                     024F   483 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  024F       30008$:	BLBS	R0,30009$

   00000031'EF         FA AF     DE  0252       	MOVAL	30008$,DIEARG

                          FE14   31  025A       	BRW	DIE

                                     025D       30009$:

   00000046'EF         59 8F     91  025D   484 	CMPB	#^A/Y/,FAO_BUFFER	; CHECK FOR YES

                          54     13  0265   485 	BEQL	RK			; BR IF WE ARE DETACHED

                                     0267   486 	$ASSIGN_S TTNAM,TTCHAN		; ELSE SET UP FOR CTRL C AST'S

                          7E     7C  0267       		CLRQ	-(SP)

                 000009C1'EF     3F  0269       		PUSHAW	TTCHAN

                 000000B2'EF     7F  026F       		PUSHAQ	TTNAM

   00000000'GF            04     FB  0275       		CALLS	#4,G^SYS$ASSIGN

                                     027C   487 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  027C       30010$:	BLBS	R0,30011$

   00000031'EF         FA AF     DE  027F       	MOVAL	30010$,DIEARG

                          FDE7   31  0287       	BRW	DIE

                                     028A       30011$:

                                     028A   488 	$QIOW_S	CHAN=TTCHAN,-

                                     028A   489 		FUNC=#IO$_SETMODE!IO$M_CTRLCAST,-

                                     028A   490 		P1  =CCASTHAND		; ENABLE CC AST'S

                          7E     7C  028A       		CLRQ	-(SP)

                          7E     7C  028C       		CLRQ	-(SP)

                          00     DD  028E       		PUSHL	#0

                     FEC4 CF     DF  0290       		PUSHAL	CCASTHAND

                          7E     7C  0294       		CLRQ	-(SP)

                          00     DD  0296       		PUSHL	#0

            7E       0000'8F     3C  0298       		MOVZWL	#IO$_SETMODE!IO$M_CTRLCAST,-(SP)

            7E   000009C1'EF     3C  029D       		MOVZWL	TTCHAN,-(SP)

                          00     DD  02A4       		PUSHL	#0

   00000000'GF            0C     FB  02A6       		CALLS	#12,G^SYS$QIOW

                                     02AD   491 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  02AD       30012$:	BLBS	R0,30013$

   00000031'EF         FA AF     DE  02B0       	MOVAL	30012$,DIEARG

                          FDB6   31  02B8       	BRW	DIE

                                     02BB       30013$:

                                     02BB   492 RK:

                                     02BB   493 	$OPEN	FAB=FAB,ERR=FILE_ERR	; OPEN "UETINIDEV.DAT"

                     FE74 CF     DF  02BB       		PUSHAL FILE_ERR

                 00004F48'EF     DF  02BF       		PUSHAL	FAB

   00000000'9F            02     FB  02C5       		CALLS	#$$.TMP1,@#SYS$OPEN

   0000016A'EF            02     93  02CC   494 	BITB	#BIT1,IOSTAT		; RMS FILE ERROR?

                          40     13  02D3   495 	BEQL	FE2			; BR IF NOT

                                     02D5   496 FE1:

                                     02D5   497 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     02D5   498 		#UETP$_OPENIN,#1,#FILE_NAME_STR> ; PRINT ERROR MESSAGE

                 00000034'8F     DD  02D5       	  	PUSHL	#FILE_NAME_STR

                          01     DD  02DB       	  	PUSHL	#1

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  19

1.17            MAIN CODE                                                                                                        (2)



                 00000000'8F     DD  02DD       	  	PUSHL	#UETP$_OPENIN

                 00000036'EF     DD  02E3       	  	PUSHL	ERROR_CNT

                          01     DD  02E9       	  	PUSHL	#1

                 00000000'8F     DD  02EB       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            06     FB  02F1       		CALLS	#$$T1,@#LIB$SIGNAL

                                     02F8   499 	$DISCONNECT RAB=RAB		; CLOSE "UETINIDEV.DAT"

                 00004F98'EF     DF  02F8       		PUSHAL	RAB

   00000000'9F            01     FB  02FE       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                                     0305   500 	$CLOSE FAB=FAB

                 00004F48'EF     DF  0305       		PUSHAL	FAB

   00000000'9F            01     FB  030B       		CALLS	#$$.TMP1,@#SYS$CLOSE

                          14F8   31  0312   501 	BRW	LAST1			; EXIT

                                     0315   502 FE2:

                                     0315   503 	$CONNECT RAB=RAB,ERR=FILE_ERR	; CONNECT THE RAB & FAB

                     FE1A CF     DF  0315       		PUSHAL FILE_ERR

                 00004F98'EF     DF  0319       		PUSHAL	RAB

   00000000'9F            02     FB  031F       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  0326   504 	BITB	#BIT1,IOSTAT		; RMS FILE ERROR?

                          03     13  032D   505 	BEQL	FIND_IT			; BR IF NOT

                          FFA3   31  032F   506 	BRW	FE1			; ELSE ERROR

                                     0332   507 FIND_IT:

                                     0332   508 	$GET	RAB=RAB,ERR=FILE_ERR	; GET THE FIRST RECORD

                     FDFD CF     DF  0332       		PUSHAL FILE_ERR

                 00004F98'EF     DF  0336       		PUSHAL	RAB

   00000000'9F            02     FB  033C       		CALLS	#$$.TMP1,@#SYS$GET

   0000016A'EF            02     93  0343   509 	BITB	#BIT1,IOSTAT		; RMS FILE ERROR?

                          03     13  034A   510 	BEQL	10$			; BR IF NO

                          FF86   31  034C   511 	BRW	FE1			; PRINT ERROR

   0000016A'EF            01     93  034F   512 10$:	BITB	#BIT0,IOSTAT		; EOF?

                          03     13  0356   513 	BEQL	20$			; BR IF NO

                          0106   31  0358   514 	BRW	DEVNF			; DEVICE NOT FOUND

   0000017F'EF            01     93  035B   515 20$:	BITB	#BIT0,RECORD+4		; IS THIS A DDB?

                          CE     12  0362   516 	BNEQ	FIND_IT			; GO ON IF NOT

   00000181'EF            03     29  0364   517 	CMPC	#3,RECORD+6,CNTRL_NAME	; IS THIS THE RIGHT CONTROLLER?

                 00000029'EF         036B       

                          C0     12  0370   518 	BNEQ	FIND_IT			; BR IF NOT

                                     0372   519 FOUND_IT:

                                     0372   520 	$GET	RAB=RAB,ERR=FILE_ERR	; GET A RECORD

                     FDBD CF     DF  0372       		PUSHAL FILE_ERR

                 00004F98'EF     DF  0376       		PUSHAL	RAB

   00000000'9F            02     FB  037C       		CALLS	#$$.TMP1,@#SYS$GET

   0000016A'EF            02     93  0383   521 	BITB	#BIT1,IOSTAT		; RMS FILE ERROR?

                          03     13  038A   522 	BEQL	10$			; BR IF NOT

                          FF46   31  038C   523 	BRW	FE1			; REPORT ERROR AND EXIT

                                     038F   524 10$:

   0000016A'EF            01     93  038F   525 	BITB	#BIT0,IOSTAT		; END OF THE FILE?

                          03     13  0396   526 	BEQL	20$			; BR IF NO

                          0152   31  0398   527 	BRW	ALL_SET			; FOUND A DDB

   0000017F'EF            01     93  039B   528 20$:	BITB	#BIT0,RECORD+4		; IS THIS A DDB?

                          03     12  03A2   529 	BNEQ	30$			; BR IF NO

                          0146   31  03A4   530 	BRW	ALL_SET			; FOUND DDB

   0000017F'EF            02     93  03A7   531 30$:	BITB	#BIT1,RECORD+4		; IS THE UNIT TESTABLE?

                          C2     12  03AE   532 	BNEQ	FOUND_IT		; BR IF NOT

            53   00000183'EF     9A  03B0   533 	MOVZBL	RECORD+8,R3		; GET PHY. UNIT NUMBER IN ASCII

            53         F8 8F     8A  03B7   534 	BICB2	#^XF8,R3		; CONVERT TO HEX

            57            53     D0  03BB   535 	MOVL	R3,R7			; SET TO USE LATER

            54            01     D0  03BE   536 	MOVL	#1,R4			; SET TO UNIT ZERO MASK BIT

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  20

1.17            MAIN CODE                                                                                                        (2)



            54            53     9C  03C1   537 	ROTL	R3,R4,R4		; CONVERT IF NOT UNIT ZERO

                          54         03C4       

   000009C6'EF            54     88  03C5   538 	BISB2	R4,UNIT_MASK		; ADD IT TO THE REST

                          04     DD  03CC   539 	PUSHL	#4			; # OF CYLINDERS IN HEX.

                 00000197'EF     DF  03CE   540 	PUSHAL	RECORD+28		; ADDRESS OF # OF CYLINDERS

   00000000'EF            02     FB  03D4   541 	CALLS	#2,CNVTAH		; CONVERT TO LONGWORD

   0000002D'EF            5B     D0  03DB   542 	MOVL	R11,CYL			; STORE THE # OF CYLINDERS

                          02     DD  03E2   543 	PUSHL	#2			; NUMBER OF TRACKS

                 0000019B'EF     DF  03E4   544 	PUSHAL	RECORD+32		; ADDRESS OF # OF TRACKS

   00000000'EF            02     FB  03EA   545 	CALLS	#2,CNVTAH		; CONVERT TO LONGWORD

   000009BD'EF            5B     D0  03F1   546 	MOVL	R11,TRAC		; STORE THE # OF TRACKS

                          02     DD  03F8   547 	PUSHL	#2			; NUMBER OF SECTORS

                 0000019D'EF     DF  03FA   548 	PUSHAL	RECORD+34		; ADDRESS OF # OF SECTORS

   00000000'EF            02     FB  0400   549 	CALLS	#2,CNVTAH		; CONVERT TO LONGWORD

   000001B5'EF            5B     D0  0407   550 	MOVL	R11,SEC			; STORE THE # OF SECTORS

   000009BD'EF   0000002D'EF     C5  040E   551 	MULL3	CYL,TRAC,R5		; CYL * TRAC * SEC =

                          55         0419       

            55   000001B5'EF     C4  041A   552 	MULL2	SEC,R5			; # OF BLOCKS ON DISK

                          56     D4  0421   553 	CLRL	R6			; CLEAR R6 FOR FFS INSTRUCTION

                                     0423   554 FIND_SIZE:

            20   0000016F'EF     EA  0423   555 	FFS	POS,#32,R5,FINDPOS	; FIND FIRST SET BIT

   00000166'EF            55         042A       

                          13     13  0430   556 	BEQL	10$			; FIRST SET BIT NOT FOUND

                 00000166'EF     D6  0432   557 	INCL	FINDPOS			; INCREMENT FINDPOS

   0000016F'EF   00000166'EF     D0  0438   558 	MOVL	FINDPOS,POS		; RESET START POSITION

                          DE     11  0443   559 	BRB	FIND_SIZE		; TRY AGAIN

                                     0445   560 10$:

                 0000016F'EF     D7  0445   561 	DECL	POS			; DECREMENT POS

            55            01     D0  044B   562 	MOVL	#1,R5			; SET MASK BIT

            55   0000016F'EF     9C  044E   563 	ROTL	POS,R5,R5		; ROTATE TO POS

                          55         0455       

   00000146'EF47          55     D0  0456   564 	MOVL	R5,FILE_SIZE0[R7]	; SET FILE SIZE FOR THIS UNIT

                          FF11   31  045E   565 	BRW	FOUND_IT		; DO THE NEXT ONE

                                     0461   566 DEVNF:

                 00000036'EF     D6  0461   567 	INCL	ERROR_CNT		; BUMP CUM. ERROR COUNT

                                     0467   568 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     0467   569 		#UETP$_DENOSU-1,#2,#TSTNAM,#CNTRL_NAME_STR> ; PRINT ERROR MESSAGE

                 00000010'8F     DD  0467       	  	PUSHL	#CNTRL_NAME_STR

                 000000A1'8F     DD  046D       	  	PUSHL	#TSTNAM

                          02     DD  0473       	  	PUSHL	#2

                 FFFFFFFF'8F     DD  0475       	  	PUSHL	#UETP$_DENOSU-1

                 00000036'EF     DD  047B       	  	PUSHL	ERROR_CNT

                          01     DD  0481       	  	PUSHL	#1

                 00000000'8F     DD  0483       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            07     FB  0489       		CALLS	#$$T1,@#LIB$SIGNAL

                                     0490   570 	$DISCONNECT RAB=RAB,ERR=FILE_ERR ; CLOSE "UETINIDEV.DAT"

                     FC9F CF     DF  0490       		PUSHAL FILE_ERR

                 00004F98'EF     DF  0494       		PUSHAL	RAB

   00000000'9F            02     FB  049A       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

   0000016A'EF            02     93  04A1   571 	BITB	#BIT1,IOSTAT		; CHECK FOR RMS FILE ERROR

                          1D     12  04A8   572 	BNEQ	CLOSE_ERR		; BRANCH IF YES

                                     04AA   573 	$CLOSE	FAB=FAB,ERR=FILE_ERR

                     FC85 CF     DF  04AA       		PUSHAL FILE_ERR

                 00004F48'EF     DF  04AE       		PUSHAL	FAB

   00000000'9F            02     FB  04B4       		CALLS	#$$.TMP1,@#SYS$CLOSE

   0000016A'EF            02     93  04BB   574 	BITB	#BIT1,IOSTAT		; CHECK FOR RMS FILE ERROR

                          03     12  04C2   575 	BNEQ	CLOSE_ERR		; BRANCH IF YES

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  21

1.17            MAIN CODE                                                                                                        (2)



                          1346   31  04C4   576 	BRW	LAST1			; EXIT

                                     04C7   577 CLOSE_ERR:

                                     04C7   578 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     04C7   579 		#UETP$_CLOSEIN,#1,#FILE_NAME_STR> ; PRINT ERROR MESSAGE

                 00000034'8F     DD  04C7       	  	PUSHL	#FILE_NAME_STR

                          01     DD  04CD       	  	PUSHL	#1

                 00000000'8F     DD  04CF       	  	PUSHL	#UETP$_CLOSEIN

                 00000036'EF     DD  04D5       	  	PUSHL	ERROR_CNT

                          01     DD  04DB       	  	PUSHL	#1

                 00000000'8F     DD  04DD       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            06     FB  04E3       		CALLS	#$$T1,@#LIB$SIGNAL

                          1320   31  04EA   580 	BRW	LAST1			; EXIT

                                     04ED   581 ALL_SET:

                                     04ED   582 	$DISCONNECT RAB=RAB,ERR=FILE_ERR ; CLOSE FILE "UETINIDEV.DAT"

                     FC42 CF     DF  04ED       		PUSHAL FILE_ERR

                 00004F98'EF     DF  04F1       		PUSHAL	RAB

   00000000'9F            02     FB  04F7       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

   0000016A'EF            02     93  04FE   583 	BITB	#BIT1,IOSTAT		; CHECK FOR RMS FILE ERROR

                          C0     12  0505   584 	BNEQ	CLOSE_ERR		; BRANCH IF YES

                                     0507   585 	$CLOSE	FAB=FAB,ERR=FILE_ERR

                     FC28 CF     DF  0507       		PUSHAL FILE_ERR

                 00004F48'EF     DF  050B       		PUSHAL	FAB

   00000000'9F            02     FB  0511       		CALLS	#$$.TMP1,@#SYS$CLOSE

   0000016A'EF            02     93  0518   586 	BITB	#BIT1,IOSTAT		; CHECK FOR RMS FILE ERROR

                          A6     12  051F   587 	BNEQ	CLOSE_ERR		; BRANCH IF YES

                                     0521   588 	$TRNLOG_S LOGNAM2,STRLEN,FAO_BUF  ; WHAT IS THE SYSTEM DISK?

                          00     DD  0521       		PUSHL	#0

                          00     DD  0523       		PUSHL	#0

                          00     DD  0525       		PUSHL	#0

                 0000003E'EF     7F  0527       		PUSHAQ	FAO_BUF

                 000001B9'EF     3F  052D       		PUSHAW	STRLEN

                 00000071'EF     7F  0533       		PUSHAQ	LOGNAM2

   00000000'GF            06     FB  0539       		CALLS	#6,G^SYS$TRNLOG

                                     0540   589 	SERVCHEK			; CHECK FOR ERRORS

            0B            50     E8  0540       30014$:	BLBS	R0,30015$

   00000031'EF         FA AF     DE  0543       	MOVAL	30014$,DIEARG

                          FB23   31  054B       	BRW	DIE

                                     054E       30015$:

   00000046'EF            03     29  054E   590 	CMPC	#3,FAO_BUFFER,CNTRL_NAME ; IS THIS THE SYSTEM CONTROLLER?

                 00000029'EF         0555       

                          4E     12  055A   591 	BNEQ	GET_DATA		; BR IF NOT

            57   00000049'EF     9A  055C   592 	MOVZBL	FAO_BUFFER+3,R7		; SET UP SYSTEM DISK NUMBER

            57         F8 8F     8A  0563   593 	BICB2	#^XF8,R7		; IN BINARY

       4244 8F   00000046'EF     B1  0567   594 	CMPW	FAO_BUFFER,#^A/DB/	; IS THE SYS. DISK A DB?

                          30     13  0570   595 	BEQL	20$			; BR IF YES

       5244 8F   00000046'EF     B1  0572   596 	CMPW	FAO_BUFFER,#^A/DR/	; IS THE SYS. DISK A RM03?

                          1B     13  057B   597 	BEQL	10$			; BR IF YES

                                     057D   598 					; ELSE DON'T TEST THE SYS. DISK

            56   00000049'EF     90  057D   599 	MOVB	FAO_BUFFER+3,R6		; WHAT DRIVE IS THE SYSTEM DISK?

            54         F8 8F     8A  0584   600 	BICB2	#^XF8,R4		; CONVERT TO HEX

            54            01     D0  0588   601 	MOVL	#1,R4			; SET TO UNIT MASK BIT

            54            56     9C  058B   602 	ROTL	R6,R4,R4		; SET UP MASK BIT FOR SYS. DISK

                          54         058E       

   000009C6'EF            54     8A  058F   603 	BICB2	R4,UNIT_MASK		; CLEAR THE SYS. BIT IN UNIT_MASK

                          12     11  0596   604 	BRB	GET_DATA

                                     0598   605 10$:

   00000146'EF47          03     C6  0598   606 	DIVL2	#3,FILE_SIZE0[R7]	; 1/3 OF SYSTEM RM03 ENOUGH

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  22

1.17            MAIN CODE                                                                                                        (2)



                          08     11  05A0   607 	BRB	GET_DATA

                                     05A2   608 20$:

   00000146'EF47          02     C6  05A2   609 	DIVL2	#2,FILE_SIZE0[R7]	; ONLY TEST HALF OF BLOCKS

                                     05AA   610 GET_DATA:

                     FAF4 CF     16  05AA   611 	JSB	RANBUF			; FILL DATA BUFFER

                                     05AE   612 	.LIST	MEB

                                     05AE   613 	STARTUP	0

   000009C6'EF            01     93  05AE       	BITB	#1@0,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  05B5       	BNEQ	30016$			; BR IF YES

                          00C3   31  05B7       	BRW	30020$			; ELSE BRW

                                     05BA       30016$:

   00000029'EF            03     28  05BA       	MOVC3	#3,CNTRL_NAME,FILE0	; SET CONTROLLER NAME

                 00001264'EF         05C1       

   000011E0'EF   00000146'EF     D0  05C6       	MOVL	FILE_SIZE0,FAB0+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 00000D1D'EF     DF  05D1       		PUSHAL ERR0

                 000011D0'EF     DF  05D7       		PUSHAL	FAB0

   00000000'9F            02     FB  05DD       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  05E4       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  05EB       	BEQL	30018$			; BR IF NOT

                          001C   31  05ED       	BRW	30017$			; PRINT THE ERROR

                                     05F0       30018$:

                 00000D1D'EF     DF  05F0       		PUSHAL ERR0

                 00001220'EF     DF  05F6       		PUSHAL	RAB0

   00000000'9F            02     FB  05FC       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  0603       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  060A       	BEQL	30019$			; BR IF NOT

                                     060C       30017$:

            03            00     ED  060C       	CMPZV	#0,#3,FAB0+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   000011D8'EF         060F       

                          07     12  0615       	BNEQ	30021$			; BR IF NO

   000011D8'EF            02     C2  0617       	SUBL2	#2,FAB0+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     061E       30021$:

                 000011DC'EF     DD  061E       	  	PUSHL	FAB0+FAB$L_STV

                 000011D8'EF     DD  0624       	  	PUSHL	FAB0+FAB$L_STS

   00000000'9F            02     FB  062A       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0631       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  0638       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  063E       	BNEQ	30020$			; BR IF NOT

                          0F61   31  0640       	BRW	ERR_EXIT		; ELSE DIE

                                     0643       30019$:

            57   00000146'EF     D0  0643       	MOVL	0*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     FACA CF     16  064A       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   000009CB'EF   0000000C'EF     D0  064E       	MOVL	BLKNUM,BLKNUM0		; SAVE THIS BLOCK NUMBER

   00001258'EF   0000000C'EF     D0  0659       	MOVL	BLKNUM,RAB0+RAB$L_BKT	; SET DSK ADR

                 00000C3A'EF     DF  0664       		PUSHAL SUC0

                 00000D1D'EF     DF  066A       		PUSHAL ERR0

                 00001220'EF     DF  0670       		PUSHAL	RAB0

   00000000'9F            03     FB  0676       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     067D       30020$:

                                     067D   614 	STARTUP	1

   000009C6'EF            02     93  067D       	BITB	#1@1,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0684       	BNEQ	30022$			; BR IF YES

                          00C3   31  0686       	BRW	30026$			; ELSE BRW

                                     0689       30022$:

   00000029'EF            03     28  0689       	MOVC3	#3,CNTRL_NAME,FILE1	; SET CONTROLLER NAME

                 00001B14'EF         0690       

   00001A90'EF   0000014A'EF     D0  0695       	MOVL	FILE_SIZE1,FAB1+FAB$L_ALQ ; SET ALLOCATION IN BLKS

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  23

1.17            MAIN CODE                                                                                                        (2)



                 00000E4A'EF     DF  06A0       		PUSHAL ERR1

                 00001A80'EF     DF  06A6       		PUSHAL	FAB1

   00000000'9F            02     FB  06AC       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  06B3       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  06BA       	BEQL	30024$			; BR IF NOT

                          001C   31  06BC       	BRW	30023$			; PRINT THE ERROR

                                     06BF       30024$:

                 00000E4A'EF     DF  06BF       		PUSHAL ERR1

                 00001AD0'EF     DF  06C5       		PUSHAL	RAB1

   00000000'9F            02     FB  06CB       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  06D2       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  06D9       	BEQL	30025$			; BR IF NOT

                                     06DB       30023$:

            03            00     ED  06DB       	CMPZV	#0,#3,FAB1+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   00001A88'EF         06DE       

                          07     12  06E4       	BNEQ	30027$			; BR IF NO

   00001A88'EF            02     C2  06E6       	SUBL2	#2,FAB1+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     06ED       30027$:

                 00001A8C'EF     DD  06ED       	  	PUSHL	FAB1+FAB$L_STV

                 00001A88'EF     DD  06F3       	  	PUSHL	FAB1+FAB$L_STS

   00000000'9F            02     FB  06F9       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0700       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  0707       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  070D       	BNEQ	30026$			; BR IF NOT

                          0E92   31  070F       	BRW	ERR_EXIT		; ELSE DIE

                                     0712       30025$:

            57   0000014A'EF     D0  0712       	MOVL	1*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     F9FB CF     16  0719       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   00001279'EF   0000000C'EF     D0  071D       	MOVL	BLKNUM,BLKNUM1		; SAVE THIS BLOCK NUMBER

   00001B08'EF   0000000C'EF     D0  0728       	MOVL	BLKNUM,RAB1+RAB$L_BKT	; SET DSK ADR

                 00000D67'EF     DF  0733       		PUSHAL SUC1

                 00000E4A'EF     DF  0739       		PUSHAL ERR1

                 00001AD0'EF     DF  073F       		PUSHAL	RAB1

   00000000'9F            03     FB  0745       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     074C       30026$:

                                     074C   615 	STARTUP	2

   000009C6'EF            04     93  074C       	BITB	#1@2,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0753       	BNEQ	30028$			; BR IF YES

                          00C3   31  0755       	BRW	30032$			; ELSE BRW

                                     0758       30028$:

   00000029'EF            03     28  0758       	MOVC3	#3,CNTRL_NAME,FILE2	; SET CONTROLLER NAME

                 000023C4'EF         075F       

   00002340'EF   0000014E'EF     D0  0764       	MOVL	FILE_SIZE2,FAB2+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 00000F77'EF     DF  076F       		PUSHAL ERR2

                 00002330'EF     DF  0775       		PUSHAL	FAB2

   00000000'9F            02     FB  077B       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  0782       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  0789       	BEQL	30030$			; BR IF NOT

                          001C   31  078B       	BRW	30029$			; PRINT THE ERROR

                                     078E       30030$:

                 00000F77'EF     DF  078E       		PUSHAL ERR2

                 00002380'EF     DF  0794       		PUSHAL	RAB2

   00000000'9F            02     FB  079A       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  07A1       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  07A8       	BEQL	30031$			; BR IF NOT

                                     07AA       30029$:

            03            00     ED  07AA       	CMPZV	#0,#3,FAB2+FAB$L_STS,#4 ; IS SEVERITY = 4?

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  24

1.17            MAIN CODE                                                                                                        (2)



            04   00002338'EF         07AD       

                          07     12  07B3       	BNEQ	30033$			; BR IF NO

   00002338'EF            02     C2  07B5       	SUBL2	#2,FAB2+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     07BC       30033$:

                 0000233C'EF     DD  07BC       	  	PUSHL	FAB2+FAB$L_STV

                 00002338'EF     DD  07C2       	  	PUSHL	FAB2+FAB$L_STS

   00000000'9F            02     FB  07C8       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  07CF       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  07D6       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  07DC       	BNEQ	30032$			; BR IF NOT

                          0DC3   31  07DE       	BRW	ERR_EXIT		; ELSE DIE

                                     07E1       30031$:

            57   0000014E'EF     D0  07E1       	MOVL	2*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     F92C CF     16  07E8       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   00001B29'EF   0000000C'EF     D0  07EC       	MOVL	BLKNUM,BLKNUM2		; SAVE THIS BLOCK NUMBER

   000023B8'EF   0000000C'EF     D0  07F7       	MOVL	BLKNUM,RAB2+RAB$L_BKT	; SET DSK ADR

                 00000E94'EF     DF  0802       		PUSHAL SUC2

                 00000F77'EF     DF  0808       		PUSHAL ERR2

                 00002380'EF     DF  080E       		PUSHAL	RAB2

   00000000'9F            03     FB  0814       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     081B       30032$:

                                     081B   616 	STARTUP	3

   000009C6'EF            08     93  081B       	BITB	#1@3,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0822       	BNEQ	30034$			; BR IF YES

                          00C3   31  0824       	BRW	30038$			; ELSE BRW

                                     0827       30034$:

   00000029'EF            03     28  0827       	MOVC3	#3,CNTRL_NAME,FILE3	; SET CONTROLLER NAME

                 00002C74'EF         082E       

   00002BF0'EF   00000152'EF     D0  0833       	MOVL	FILE_SIZE3,FAB3+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 000010A4'EF     DF  083E       		PUSHAL ERR3

                 00002BE0'EF     DF  0844       		PUSHAL	FAB3

   00000000'9F            02     FB  084A       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  0851       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  0858       	BEQL	30036$			; BR IF NOT

                          001C   31  085A       	BRW	30035$			; PRINT THE ERROR

                                     085D       30036$:

                 000010A4'EF     DF  085D       		PUSHAL ERR3

                 00002C30'EF     DF  0863       		PUSHAL	RAB3

   00000000'9F            02     FB  0869       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  0870       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  0877       	BEQL	30037$			; BR IF NOT

                                     0879       30035$:

            03            00     ED  0879       	CMPZV	#0,#3,FAB3+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   00002BE8'EF         087C       

                          07     12  0882       	BNEQ	30039$			; BR IF NO

   00002BE8'EF            02     C2  0884       	SUBL2	#2,FAB3+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     088B       30039$:

                 00002BEC'EF     DD  088B       	  	PUSHL	FAB3+FAB$L_STV

                 00002BE8'EF     DD  0891       	  	PUSHL	FAB3+FAB$L_STS

   00000000'9F            02     FB  0897       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  089E       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  08A5       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  08AB       	BNEQ	30038$			; BR IF NOT

                          0CF4   31  08AD       	BRW	ERR_EXIT		; ELSE DIE

                                     08B0       30037$:

            57   00000152'EF     D0  08B0       	MOVL	3*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     F85D CF     16  08B7       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  25

1.17            MAIN CODE                                                                                                        (2)



   000023D9'EF   0000000C'EF     D0  08BB       	MOVL	BLKNUM,BLKNUM3		; SAVE THIS BLOCK NUMBER

   00002C68'EF   0000000C'EF     D0  08C6       	MOVL	BLKNUM,RAB3+RAB$L_BKT	; SET DSK ADR

                 00000FC1'EF     DF  08D1       		PUSHAL SUC3

                 000010A4'EF     DF  08D7       		PUSHAL ERR3

                 00002C30'EF     DF  08DD       		PUSHAL	RAB3

   00000000'9F            03     FB  08E3       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     08EA       30038$:

                                     08EA   617 	STARTUP	4

   000009C6'EF            10     93  08EA       	BITB	#1@4,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  08F1       	BNEQ	30040$			; BR IF YES

                          00C3   31  08F3       	BRW	30044$			; ELSE BRW

                                     08F6       30040$:

   00000029'EF            03     28  08F6       	MOVC3	#3,CNTRL_NAME,FILE4	; SET CONTROLLER NAME

                 00003524'EF         08FD       

   000034A0'EF   00000156'EF     D0  0902       	MOVL	FILE_SIZE4,FAB4+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 000011D1'EF     DF  090D       		PUSHAL ERR4

                 00003490'EF     DF  0913       		PUSHAL	FAB4

   00000000'9F            02     FB  0919       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  0920       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  0927       	BEQL	30042$			; BR IF NOT

                          001C   31  0929       	BRW	30041$			; PRINT THE ERROR

                                     092C       30042$:

                 000011D1'EF     DF  092C       		PUSHAL ERR4

                 000034E0'EF     DF  0932       		PUSHAL	RAB4

   00000000'9F            02     FB  0938       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  093F       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  0946       	BEQL	30043$			; BR IF NOT

                                     0948       30041$:

            03            00     ED  0948       	CMPZV	#0,#3,FAB4+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   00003498'EF         094B       

                          07     12  0951       	BNEQ	30045$			; BR IF NO

   00003498'EF            02     C2  0953       	SUBL2	#2,FAB4+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     095A       30045$:

                 0000349C'EF     DD  095A       	  	PUSHL	FAB4+FAB$L_STV

                 00003498'EF     DD  0960       	  	PUSHL	FAB4+FAB$L_STS

   00000000'9F            02     FB  0966       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  096D       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  0974       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  097A       	BNEQ	30044$			; BR IF NOT

                          0C25   31  097C       	BRW	ERR_EXIT		; ELSE DIE

                                     097F       30043$:

            57   00000156'EF     D0  097F       	MOVL	4*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     F78E CF     16  0986       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   00002C89'EF   0000000C'EF     D0  098A       	MOVL	BLKNUM,BLKNUM4		; SAVE THIS BLOCK NUMBER

   00003518'EF   0000000C'EF     D0  0995       	MOVL	BLKNUM,RAB4+RAB$L_BKT	; SET DSK ADR

                 000010EE'EF     DF  09A0       		PUSHAL SUC4

                 000011D1'EF     DF  09A6       		PUSHAL ERR4

                 000034E0'EF     DF  09AC       		PUSHAL	RAB4

   00000000'9F            03     FB  09B2       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     09B9       30044$:

                                     09B9   618 	STARTUP	5

   000009C6'EF            20     93  09B9       	BITB	#1@5,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  09C0       	BNEQ	30046$			; BR IF YES

                          00C3   31  09C2       	BRW	30050$			; ELSE BRW

                                     09C5       30046$:

   00000029'EF            03     28  09C5       	MOVC3	#3,CNTRL_NAME,FILE5	; SET CONTROLLER NAME

                 00003DD4'EF         09CC       

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  26

1.17            MAIN CODE                                                                                                        (2)



   00003D50'EF   0000015A'EF     D0  09D1       	MOVL	FILE_SIZE5,FAB5+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 000012FE'EF     DF  09DC       		PUSHAL ERR5

                 00003D40'EF     DF  09E2       		PUSHAL	FAB5

   00000000'9F            02     FB  09E8       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  09EF       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  09F6       	BEQL	30048$			; BR IF NOT

                          001C   31  09F8       	BRW	30047$			; PRINT THE ERROR

                                     09FB       30048$:

                 000012FE'EF     DF  09FB       		PUSHAL ERR5

                 00003D90'EF     DF  0A01       		PUSHAL	RAB5

   00000000'9F            02     FB  0A07       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  0A0E       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  0A15       	BEQL	30049$			; BR IF NOT

                                     0A17       30047$:

            03            00     ED  0A17       	CMPZV	#0,#3,FAB5+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   00003D48'EF         0A1A       

                          07     12  0A20       	BNEQ	30051$			; BR IF NO

   00003D48'EF            02     C2  0A22       	SUBL2	#2,FAB5+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     0A29       30051$:

                 00003D4C'EF     DD  0A29       	  	PUSHL	FAB5+FAB$L_STV

                 00003D48'EF     DD  0A2F       	  	PUSHL	FAB5+FAB$L_STS

   00000000'9F            02     FB  0A35       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0A3C       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  0A43       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  0A49       	BNEQ	30050$			; BR IF NOT

                          0B56   31  0A4B       	BRW	ERR_EXIT		; ELSE DIE

                                     0A4E       30049$:

            57   0000015A'EF     D0  0A4E       	MOVL	5*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     F6BF CF     16  0A55       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   00003539'EF   0000000C'EF     D0  0A59       	MOVL	BLKNUM,BLKNUM5		; SAVE THIS BLOCK NUMBER

   00003DC8'EF   0000000C'EF     D0  0A64       	MOVL	BLKNUM,RAB5+RAB$L_BKT	; SET DSK ADR

                 0000121B'EF     DF  0A6F       		PUSHAL SUC5

                 000012FE'EF     DF  0A75       		PUSHAL ERR5

                 00003D90'EF     DF  0A7B       		PUSHAL	RAB5

   00000000'9F            03     FB  0A81       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     0A88       30050$:

                                     0A88   619 	STARTUP	6

   000009C6'EF         40 8F     93  0A88       	BITB	#1@6,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0A90       	BNEQ	30052$			; BR IF YES

                          00C3   31  0A92       	BRW	30056$			; ELSE BRW

                                     0A95       30052$:

   00000029'EF            03     28  0A95       	MOVC3	#3,CNTRL_NAME,FILE6	; SET CONTROLLER NAME

                 00004684'EF         0A9C       

   00004600'EF   0000015E'EF     D0  0AA1       	MOVL	FILE_SIZE6,FAB6+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 0000142C'EF     DF  0AAC       		PUSHAL ERR6

                 000045F0'EF     DF  0AB2       		PUSHAL	FAB6

   00000000'9F            02     FB  0AB8       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  0ABF       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  0AC6       	BEQL	30054$			; BR IF NOT

                          001C   31  0AC8       	BRW	30053$			; PRINT THE ERROR

                                     0ACB       30054$:

                 0000142C'EF     DF  0ACB       		PUSHAL ERR6

                 00004640'EF     DF  0AD1       		PUSHAL	RAB6

   00000000'9F            02     FB  0AD7       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  0ADE       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  0AE5       	BEQL	30055$			; BR IF NOT

                                     0AE7       30053$:

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  27

1.17            MAIN CODE                                                                                                        (2)



            03            00     ED  0AE7       	CMPZV	#0,#3,FAB6+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   000045F8'EF         0AEA       

                          07     12  0AF0       	BNEQ	30057$			; BR IF NO

   000045F8'EF            02     C2  0AF2       	SUBL2	#2,FAB6+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     0AF9       30057$:

                 000045FC'EF     DD  0AF9       	  	PUSHL	FAB6+FAB$L_STV

                 000045F8'EF     DD  0AFF       	  	PUSHL	FAB6+FAB$L_STS

   00000000'9F            02     FB  0B05       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0B0C       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  0B13       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  0B19       	BNEQ	30056$			; BR IF NOT

                          0A86   31  0B1B       	BRW	ERR_EXIT		; ELSE DIE

                                     0B1E       30055$:

            57   0000015E'EF     D0  0B1E       	MOVL	6*4+FILE_SIZE0,R7	; GET THE FILE SIZE

                     F5EF CF     16  0B25       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   00003DE9'EF   0000000C'EF     D0  0B29       	MOVL	BLKNUM,BLKNUM6		; SAVE THIS BLOCK NUMBER

   00004678'EF   0000000C'EF     D0  0B34       	MOVL	BLKNUM,RAB6+RAB$L_BKT	; SET DSK ADR

                 00001348'EF     DF  0B3F       		PUSHAL SUC6

                 0000142C'EF     DF  0B45       		PUSHAL ERR6

                 00004640'EF     DF  0B4B       		PUSHAL	RAB6

   00000000'9F            03     FB  0B51       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     0B58       30056$:

                                     0B58   620 	STARTUP	7

   000009C6'EF         80 8F     93  0B58       	BITB	#1@7,UNIT_MASK		; TEST THIS DRIVE?

                          03     12  0B60       	BNEQ	30058$			; BR IF YES

                          00C3   31  0B62       	BRW	30062$			; ELSE BRW

                                     0B65       30058$:

   00000029'EF            03     28  0B65       	MOVC3	#3,CNTRL_NAME,FILE7	; SET CONTROLLER NAME

                 00004F34'EF         0B6C       

   00004EB0'EF   00000162'EF     D0  0B71       	MOVL	FILE_SIZE7,FAB7+FAB$L_ALQ ; SET ALLOCATION IN BLKS

                 0000155A'EF     DF  0B7C       		PUSHAL ERR7

                 00004EA0'EF     DF  0B82       		PUSHAL	FAB7

   00000000'9F            02     FB  0B88       		CALLS	#$$.TMP1,@#SYS$CREATE

   0000016A'EF            02     93  0B8F       	BITB	#BIT1,IOSTAT		; ERROR?

                          03     13  0B96       	BEQL	30060$			; BR IF NOT

                          001C   31  0B98       	BRW	30059$			; PRINT THE ERROR

                                     0B9B       30060$:

                 0000155A'EF     DF  0B9B       		PUSHAL ERR7

                 00004EF0'EF     DF  0BA1       		PUSHAL	RAB7

   00000000'9F            02     FB  0BA7       		CALLS	#$$.TMP1,@#SYS$CONNECT

   0000016A'EF            02     93  0BAE       	BITB	#BIT1,IOSTAT		; ERROR?

                          37     13  0BB5       	BEQL	30061$			; BR IF NOT

                                     0BB7       30059$:

            03            00     ED  0BB7       	CMPZV	#0,#3,FAB7+FAB$L_STS,#4 ; IS SEVERITY = 4?

            04   00004EA8'EF         0BBA       

                          07     12  0BC0       	BNEQ	30063$			; BR IF NO

   00004EA8'EF            02     C2  0BC2       	SUBL2	#2,FAB7+FAB$L_STS	; CHANGE SEVERITY TO ERROR

                                     0BC9       30063$:

                 00004EAC'EF     DD  0BC9       	  	PUSHL	FAB7+FAB$L_STV

                 00004EA8'EF     DD  0BCF       	  	PUSHL	FAB7+FAB$L_STS

   00000000'9F            02     FB  0BD5       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0BDC       	BICB	#BIT1,IOSTAT		; RESET ERROR BIT

                 000009C6'EF     95  0BE3       	TSTB	UNIT_MASK		; ARE WE DEAD YET?

                          3D     12  0BE9       	BNEQ	30062$			; BR IF NOT

                          09B6   31  0BEB       	BRW	ERR_EXIT		; ELSE DIE

                                     0BEE       30061$:

            57   00000162'EF     D0  0BEE       	MOVL	7*4+FILE_SIZE0,R7	; GET THE FILE SIZE

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  28

1.17            MAIN CODE                                                                                                        (2)



                     F51F CF     16  0BF5       	JSB	GEN_RAN			; MAKE A NEW DISK ADR

   00004699'EF   0000000C'EF     D0  0BF9       	MOVL	BLKNUM,BLKNUM7		; SAVE THIS BLOCK NUMBER

   00004F28'EF   0000000C'EF     D0  0C04       	MOVL	BLKNUM,RAB7+RAB$L_BKT	; SET DSK ADR

                 00001476'EF     DF  0C0F       		PUSHAL SUC7

                 0000155A'EF     DF  0C15       		PUSHAL ERR7

                 00004EF0'EF     DF  0C1B       		PUSHAL	RAB7

   00000000'9F            03     FB  0C21       		CALLS	#$$.TMP1,@#SYS$WRITE

                                     0C28       30062$:

                 000009C6'EF     95  0C28   621 	TSTB	UNIT_MASK		; ANY UNITS TO TEST?

                          07     13  0C2E   622 	BEQL	20$			; BR IF NOT

                                     0C30   623 	$HIBER_S

   00000000'GF            00     FB  0C30       		CALLS	#0,G^SYS$HIBER

                                     0C37   624 20$:

                          096A   31  0C37   625 	BRW	ERR_EXIT		; ERROR EXIT !

                                     0C3A   626 ;

                                     0C3A   627 ;

                                     0C3A   628 	DISKTEST	0	; SERVICE AST'S

                               0FFC  0C3A       SUC0:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   000009CF'EF            00     2C  0C3C       	MOVC5	#0,BUF0,#0,#2048,BUF0	; CLEAR THE READ BUFFER

       0800 8F            00         0C43       

                 000009CF'EF         0C47       

                 00000C66'EF     DF  0C4C       		PUSHAL SUCA0

                 00000D1D'EF     DF  0C52       		PUSHAL ERR0

                 00001220'EF     DF  0C58       		PUSHAL	RAB0

   00000000'9F            03     FB  0C5E       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  0C65       	RET

                               0FFC  0C66       SUCA0:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  0C68       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  0C6F       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  0C71       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          009F   31  0C78       	BRW	30$		; EXIT IF YES

                                     0C7B       5$:

   000001BD'EF       0800 8F     29  0C7B       	CMPC3	#2048,TEST_DATA,BUF0 ; IS DATA GOOD?

                 000009CF'EF         0C84       

                          6C     12  0C89       	BNEQ	20$		; BR IF NOT

                                     0C8B       10$:

                 000009C7'EF     D6  0C8B       	INCL	ITER0		; INCREMENT ITERATION COUNT

   0000016B'EF   000009C7'EF     D1  0C91       	CMPL	ITER0,ITERATIONS ; IS THIS UNIT  DONE?

                          15     12  0C9C       	BNEQ	15$		; BR IF NOT

   00000035'EF            01     88  0C9E       	BISB2	#1@0,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  0CA5       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  0CB0       	BEQL	30$		; BR IF YES

                                 04  0CB2       	RET			; EXIT AST LEVEL

                                     0CB3       15$:

            57   00000146'EF     D0  0CB3       	MOVL 	0*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     F45A CF     16  0CBA       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00001258'EF   0000000C'EF     D0  0CBE       	MOVL	BLKNUM,RAB0+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   000009CB'EF   0000000C'EF     D0  0CC9       	MOVL	BLKNUM,BLKNUM0	; SAVE THE BLKNUM

   00001248'EF   000001BD'EF     DE  0CD4       	MOVAL	TEST_DATA,RAB0+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF57 CF     DF  0CDF       		PUSHAL SUC0

                 00000D1D'EF     DF  0CE3       		PUSHAL ERR0

                 00001220'EF     DF  0CE9       		PUSHAL	RAB0

   00000000'9F            03     FB  0CEF       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  0CF6       	RET

                                     0CF7       20$:

   000009C5'EF            00     90  0CF7       	MOVB	#0,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  0CFE       	MOVZWL	R0,ARGS		; GET BYTE #

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  29

1.17            MAIN CODE                                                                                                        (2)



   00000004'EF            61     9A  0D05       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  0D0C       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     F3AF CF     16  0D13       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF71   31  0D17       	BRW	10$		; CONTINUE

                                     0D1A       30$:

                          08C2   31  0D1A       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  0D1D       ERR0:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00001228'EF     D0  0D1F       	MOVL	RAB0+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   0000122C'EF     D0  0D2A       	MOVL	RAB0+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            00     90  0D35       	MOVB	#0,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       F2BF CF            00     FB  0D3C       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  0D41       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  0D47       	BNEQ	10$			; BRANCH IF YES

                 000011DC'EF     DD  0D49       	  	PUSHL	FAB0+FAB$L_STV

                 000011D8'EF     DD  0D4F       	  	PUSHL	FAB0+FAB$L_STS

   00000000'9F            02     FB  0D55       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0D5C       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          083E   31  0D63       	BRW	ERR_EXIT		; NO

                                     0D66       10$:

                                 04  0D66       	RET

                                     0D67   629 	DISKTEST	1	; UNIT 1

                               0FFC  0D67       SUC1:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000127D'EF            00     2C  0D69       	MOVC5	#0,BUF1,#0,#2048,BUF1	; CLEAR THE READ BUFFER

       0800 8F            00         0D70       

                 0000127D'EF         0D74       

                 00000D93'EF     DF  0D79       		PUSHAL SUCA1

                 00000E4A'EF     DF  0D7F       		PUSHAL ERR1

                 00001AD0'EF     DF  0D85       		PUSHAL	RAB1

   00000000'9F            03     FB  0D8B       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  0D92       	RET

                               0FFC  0D93       SUCA1:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  0D95       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  0D9C       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  0D9E       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          009F   31  0DA5       	BRW	30$		; EXIT IF YES

                                     0DA8       5$:

   000001BD'EF       0800 8F     29  0DA8       	CMPC3	#2048,TEST_DATA,BUF1 ; IS DATA GOOD?

                 0000127D'EF         0DB1       

                          6C     12  0DB6       	BNEQ	20$		; BR IF NOT

                                     0DB8       10$:

                 00001275'EF     D6  0DB8       	INCL	ITER1		; INCREMENT ITERATION COUNT

   0000016B'EF   00001275'EF     D1  0DBE       	CMPL	ITER1,ITERATIONS ; IS THIS UNIT  DONE?

                          15     12  0DC9       	BNEQ	15$		; BR IF NOT

   00000035'EF            02     88  0DCB       	BISB2	#1@1,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  0DD2       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  0DDD       	BEQL	30$		; BR IF YES

                                 04  0DDF       	RET			; EXIT AST LEVEL

                                     0DE0       15$:

            57   0000014A'EF     D0  0DE0       	MOVL 	1*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     F32D CF     16  0DE7       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00001B08'EF   0000000C'EF     D0  0DEB       	MOVL	BLKNUM,RAB1+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   00001279'EF   0000000C'EF     D0  0DF6       	MOVL	BLKNUM,BLKNUM1	; SAVE THE BLKNUM

   00001AF8'EF   000001BD'EF     DE  0E01       	MOVAL	TEST_DATA,RAB1+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF57 CF     DF  0E0C       		PUSHAL SUC1

                 00000E4A'EF     DF  0E10       		PUSHAL ERR1

                 00001AD0'EF     DF  0E16       		PUSHAL	RAB1

   00000000'9F            03     FB  0E1C       		CALLS	#$$.TMP1,@#SYS$WRITE

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  30

1.17            MAIN CODE                                                                                                        (2)



                                 04  0E23       	RET

                                     0E24       20$:

   000009C5'EF            01     90  0E24       	MOVB	#1,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  0E2B       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  0E32       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  0E39       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     F282 CF     16  0E40       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF71   31  0E44       	BRW	10$		; CONTINUE

                                     0E47       30$:

                          0795   31  0E47       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  0E4A       ERR1:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00001AD8'EF     D0  0E4C       	MOVL	RAB1+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   00001ADC'EF     D0  0E57       	MOVL	RAB1+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            01     90  0E62       	MOVB	#1,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       F192 CF            00     FB  0E69       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  0E6E       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  0E74       	BNEQ	10$			; BRANCH IF YES

                 00001A8C'EF     DD  0E76       	  	PUSHL	FAB1+FAB$L_STV

                 00001A88'EF     DD  0E7C       	  	PUSHL	FAB1+FAB$L_STS

   00000000'9F            02     FB  0E82       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0E89       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          0711   31  0E90       	BRW	ERR_EXIT		; NO

                                     0E93       10$:

                                 04  0E93       	RET

                                     0E94   630 	DISKTEST	2	; UNIT 2

                               0FFC  0E94       SUC2:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   00001B2D'EF            00     2C  0E96       	MOVC5	#0,BUF2,#0,#2048,BUF2	; CLEAR THE READ BUFFER

       0800 8F            00         0E9D       

                 00001B2D'EF         0EA1       

                 00000EC0'EF     DF  0EA6       		PUSHAL SUCA2

                 00000F77'EF     DF  0EAC       		PUSHAL ERR2

                 00002380'EF     DF  0EB2       		PUSHAL	RAB2

   00000000'9F            03     FB  0EB8       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  0EBF       	RET

                               0FFC  0EC0       SUCA2:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  0EC2       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  0EC9       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  0ECB       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          009F   31  0ED2       	BRW	30$		; EXIT IF YES

                                     0ED5       5$:

   000001BD'EF       0800 8F     29  0ED5       	CMPC3	#2048,TEST_DATA,BUF2 ; IS DATA GOOD?

                 00001B2D'EF         0EDE       

                          6C     12  0EE3       	BNEQ	20$		; BR IF NOT

                                     0EE5       10$:

                 00001B25'EF     D6  0EE5       	INCL	ITER2		; INCREMENT ITERATION COUNT

   0000016B'EF   00001B25'EF     D1  0EEB       	CMPL	ITER2,ITERATIONS ; IS THIS UNIT  DONE?

                          15     12  0EF6       	BNEQ	15$		; BR IF NOT

   00000035'EF            04     88  0EF8       	BISB2	#1@2,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  0EFF       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  0F0A       	BEQL	30$		; BR IF YES

                                 04  0F0C       	RET			; EXIT AST LEVEL

                                     0F0D       15$:

            57   0000014E'EF     D0  0F0D       	MOVL 	2*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     F200 CF     16  0F14       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   000023B8'EF   0000000C'EF     D0  0F18       	MOVL	BLKNUM,RAB2+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   00001B29'EF   0000000C'EF     D0  0F23       	MOVL	BLKNUM,BLKNUM2	; SAVE THE BLKNUM

   000023A8'EF   000001BD'EF     DE  0F2E       	MOVAL	TEST_DATA,RAB2+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  31

1.17            MAIN CODE                                                                                                        (2)



                     FF57 CF     DF  0F39       		PUSHAL SUC2

                 00000F77'EF     DF  0F3D       		PUSHAL ERR2

                 00002380'EF     DF  0F43       		PUSHAL	RAB2

   00000000'9F            03     FB  0F49       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  0F50       	RET

                                     0F51       20$:

   000009C5'EF            02     90  0F51       	MOVB	#2,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  0F58       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  0F5F       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  0F66       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     F155 CF     16  0F6D       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF71   31  0F71       	BRW	10$		; CONTINUE

                                     0F74       30$:

                          0668   31  0F74       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  0F77       ERR2:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00002388'EF     D0  0F79       	MOVL	RAB2+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   0000238C'EF     D0  0F84       	MOVL	RAB2+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            02     90  0F8F       	MOVB	#2,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       F065 CF            00     FB  0F96       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  0F9B       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  0FA1       	BNEQ	10$			; BRANCH IF YES

                 0000233C'EF     DD  0FA3       	  	PUSHL	FAB2+FAB$L_STV

                 00002338'EF     DD  0FA9       	  	PUSHL	FAB2+FAB$L_STS

   00000000'9F            02     FB  0FAF       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  0FB6       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          05E4   31  0FBD       	BRW	ERR_EXIT		; NO

                                     0FC0       10$:

                                 04  0FC0       	RET

                                     0FC1   631 	DISKTEST	3	; UNIT 3

                               0FFC  0FC1       SUC3:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   000023DD'EF            00     2C  0FC3       	MOVC5	#0,BUF3,#0,#2048,BUF3	; CLEAR THE READ BUFFER

       0800 8F            00         0FCA       

                 000023DD'EF         0FCE       

                 00000FED'EF     DF  0FD3       		PUSHAL SUCA3

                 000010A4'EF     DF  0FD9       		PUSHAL ERR3

                 00002C30'EF     DF  0FDF       		PUSHAL	RAB3

   00000000'9F            03     FB  0FE5       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  0FEC       	RET

                               0FFC  0FED       SUCA3:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  0FEF       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  0FF6       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  0FF8       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          009F   31  0FFF       	BRW	30$		; EXIT IF YES

                                     1002       5$:

   000001BD'EF       0800 8F     29  1002       	CMPC3	#2048,TEST_DATA,BUF3 ; IS DATA GOOD?

                 000023DD'EF         100B       

                          6C     12  1010       	BNEQ	20$		; BR IF NOT

                                     1012       10$:

                 000023D5'EF     D6  1012       	INCL	ITER3		; INCREMENT ITERATION COUNT

   0000016B'EF   000023D5'EF     D1  1018       	CMPL	ITER3,ITERATIONS ; IS THIS UNIT  DONE?

                          15     12  1023       	BNEQ	15$		; BR IF NOT

   00000035'EF            08     88  1025       	BISB2	#1@3,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  102C       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  1037       	BEQL	30$		; BR IF YES

                                 04  1039       	RET			; EXIT AST LEVEL

                                     103A       15$:

            57   00000152'EF     D0  103A       	MOVL 	3*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  32

1.17            MAIN CODE                                                                                                        (2)



                     F0D3 CF     16  1041       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00002C68'EF   0000000C'EF     D0  1045       	MOVL	BLKNUM,RAB3+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   000023D9'EF   0000000C'EF     D0  1050       	MOVL	BLKNUM,BLKNUM3	; SAVE THE BLKNUM

   00002C58'EF   000001BD'EF     DE  105B       	MOVAL	TEST_DATA,RAB3+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF57 CF     DF  1066       		PUSHAL SUC3

                 000010A4'EF     DF  106A       		PUSHAL ERR3

                 00002C30'EF     DF  1070       		PUSHAL	RAB3

   00000000'9F            03     FB  1076       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  107D       	RET

                                     107E       20$:

   000009C5'EF            03     90  107E       	MOVB	#3,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  1085       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  108C       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  1093       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     F028 CF     16  109A       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF71   31  109E       	BRW	10$		; CONTINUE

                                     10A1       30$:

                          053B   31  10A1       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  10A4       ERR3:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00002C38'EF     D0  10A6       	MOVL	RAB3+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   00002C3C'EF     D0  10B1       	MOVL	RAB3+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            03     90  10BC       	MOVB	#3,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       EF38 CF            00     FB  10C3       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  10C8       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  10CE       	BNEQ	10$			; BRANCH IF YES

                 00002BEC'EF     DD  10D0       	  	PUSHL	FAB3+FAB$L_STV

                 00002BE8'EF     DD  10D6       	  	PUSHL	FAB3+FAB$L_STS

   00000000'9F            02     FB  10DC       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  10E3       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          04B7   31  10EA       	BRW	ERR_EXIT		; NO

                                     10ED       10$:

                                 04  10ED       	RET

                                     10EE   632 	DISKTEST	4	; UNIT 4

                               0FFC  10EE       SUC4:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   00002C8D'EF            00     2C  10F0       	MOVC5	#0,BUF4,#0,#2048,BUF4	; CLEAR THE READ BUFFER

       0800 8F            00         10F7       

                 00002C8D'EF         10FB       

                 0000111A'EF     DF  1100       		PUSHAL SUCA4

                 000011D1'EF     DF  1106       		PUSHAL ERR4

                 000034E0'EF     DF  110C       		PUSHAL	RAB4

   00000000'9F            03     FB  1112       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  1119       	RET

                               0FFC  111A       SUCA4:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  111C       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  1123       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  1125       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          009F   31  112C       	BRW	30$		; EXIT IF YES

                                     112F       5$:

   000001BD'EF       0800 8F     29  112F       	CMPC3	#2048,TEST_DATA,BUF4 ; IS DATA GOOD?

                 00002C8D'EF         1138       

                          6C     12  113D       	BNEQ	20$		; BR IF NOT

                                     113F       10$:

                 00002C85'EF     D6  113F       	INCL	ITER4		; INCREMENT ITERATION COUNT

   0000016B'EF   00002C85'EF     D1  1145       	CMPL	ITER4,ITERATIONS ; IS THIS UNIT  DONE?

                          15     12  1150       	BNEQ	15$		; BR IF NOT

   00000035'EF            10     88  1152       	BISB2	#1@4,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  1159       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  33

1.17            MAIN CODE                                                                                                        (2)



                          68     13  1164       	BEQL	30$		; BR IF YES

                                 04  1166       	RET			; EXIT AST LEVEL

                                     1167       15$:

            57   00000156'EF     D0  1167       	MOVL 	4*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     EFA6 CF     16  116E       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00003518'EF   0000000C'EF     D0  1172       	MOVL	BLKNUM,RAB4+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   00002C89'EF   0000000C'EF     D0  117D       	MOVL	BLKNUM,BLKNUM4	; SAVE THE BLKNUM

   00003508'EF   000001BD'EF     DE  1188       	MOVAL	TEST_DATA,RAB4+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF57 CF     DF  1193       		PUSHAL SUC4

                 000011D1'EF     DF  1197       		PUSHAL ERR4

                 000034E0'EF     DF  119D       		PUSHAL	RAB4

   00000000'9F            03     FB  11A3       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  11AA       	RET

                                     11AB       20$:

   000009C5'EF            04     90  11AB       	MOVB	#4,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  11B2       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  11B9       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  11C0       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     EEFB CF     16  11C7       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF71   31  11CB       	BRW	10$		; CONTINUE

                                     11CE       30$:

                          040E   31  11CE       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  11D1       ERR4:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   000034E8'EF     D0  11D3       	MOVL	RAB4+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   000034EC'EF     D0  11DE       	MOVL	RAB4+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            04     90  11E9       	MOVB	#4,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       EE0B CF            00     FB  11F0       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  11F5       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  11FB       	BNEQ	10$			; BRANCH IF YES

                 0000349C'EF     DD  11FD       	  	PUSHL	FAB4+FAB$L_STV

                 00003498'EF     DD  1203       	  	PUSHL	FAB4+FAB$L_STS

   00000000'9F            02     FB  1209       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  1210       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          038A   31  1217       	BRW	ERR_EXIT		; NO

                                     121A       10$:

                                 04  121A       	RET

                                     121B   633 	DISKTEST	5	; UNIT 5

                               0FFC  121B       SUC5:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000353D'EF            00     2C  121D       	MOVC5	#0,BUF5,#0,#2048,BUF5	; CLEAR THE READ BUFFER

       0800 8F            00         1224       

                 0000353D'EF         1228       

                 00001247'EF     DF  122D       		PUSHAL SUCA5

                 000012FE'EF     DF  1233       		PUSHAL ERR5

                 00003D90'EF     DF  1239       		PUSHAL	RAB5

   00000000'9F            03     FB  123F       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  1246       	RET

                               0FFC  1247       SUCA5:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  1249       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  1250       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  1252       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          009F   31  1259       	BRW	30$		; EXIT IF YES

                                     125C       5$:

   000001BD'EF       0800 8F     29  125C       	CMPC3	#2048,TEST_DATA,BUF5 ; IS DATA GOOD?

                 0000353D'EF         1265       

                          6C     12  126A       	BNEQ	20$		; BR IF NOT

                                     126C       10$:

                 00003535'EF     D6  126C       	INCL	ITER5		; INCREMENT ITERATION COUNT

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  34

1.17            MAIN CODE                                                                                                        (2)



   0000016B'EF   00003535'EF     D1  1272       	CMPL	ITER5,ITERATIONS ; IS THIS UNIT  DONE?

                          15     12  127D       	BNEQ	15$		; BR IF NOT

   00000035'EF            20     88  127F       	BISB2	#1@5,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  1286       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  1291       	BEQL	30$		; BR IF YES

                                 04  1293       	RET			; EXIT AST LEVEL

                                     1294       15$:

            57   0000015A'EF     D0  1294       	MOVL 	5*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     EE79 CF     16  129B       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00003DC8'EF   0000000C'EF     D0  129F       	MOVL	BLKNUM,RAB5+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   00003539'EF   0000000C'EF     D0  12AA       	MOVL	BLKNUM,BLKNUM5	; SAVE THE BLKNUM

   00003DB8'EF   000001BD'EF     DE  12B5       	MOVAL	TEST_DATA,RAB5+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF57 CF     DF  12C0       		PUSHAL SUC5

                 000012FE'EF     DF  12C4       		PUSHAL ERR5

                 00003D90'EF     DF  12CA       		PUSHAL	RAB5

   00000000'9F            03     FB  12D0       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  12D7       	RET

                                     12D8       20$:

   000009C5'EF            05     90  12D8       	MOVB	#5,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  12DF       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  12E6       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  12ED       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     EDCE CF     16  12F4       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF71   31  12F8       	BRW	10$		; CONTINUE

                                     12FB       30$:

                          02E1   31  12FB       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  12FE       ERR5:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00003D98'EF     D0  1300       	MOVL	RAB5+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   00003D9C'EF     D0  130B       	MOVL	RAB5+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            05     90  1316       	MOVB	#5,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       ECDE CF            00     FB  131D       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  1322       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  1328       	BNEQ	10$			; BRANCH IF YES

                 00003D4C'EF     DD  132A       	  	PUSHL	FAB5+FAB$L_STV

                 00003D48'EF     DD  1330       	  	PUSHL	FAB5+FAB$L_STS

   00000000'9F            02     FB  1336       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  133D       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          025D   31  1344       	BRW	ERR_EXIT		; NO

                                     1347       10$:

                                 04  1347       	RET

                                     1348   634 	DISKTEST	6	; UNIT 6

                               0FFC  1348       SUC6:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   00003DED'EF            00     2C  134A       	MOVC5	#0,BUF6,#0,#2048,BUF6	; CLEAR THE READ BUFFER

       0800 8F            00         1351       

                 00003DED'EF         1355       

                 00001374'EF     DF  135A       		PUSHAL SUCA6

                 0000142C'EF     DF  1360       		PUSHAL ERR6

                 00004640'EF     DF  1366       		PUSHAL	RAB6

   00000000'9F            03     FB  136C       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  1373       	RET

                               0FFC  1374       SUCA6:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  1376       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  137D       	BEQL	5$		; BR IF NOT

   0000016A'EF            04     8A  137F       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          00A0   31  1386       	BRW	30$		; EXIT IF YES

                                     1389       5$:

   000001BD'EF       0800 8F     29  1389       	CMPC3	#2048,TEST_DATA,BUF6 ; IS DATA GOOD?

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  35

1.17            MAIN CODE                                                                                                        (2)



                 00003DED'EF         1392       

                          6D     12  1397       	BNEQ	20$		; BR IF NOT

                                     1399       10$:

                 00003DE5'EF     D6  1399       	INCL	ITER6		; INCREMENT ITERATION COUNT

   0000016B'EF   00003DE5'EF     D1  139F       	CMPL	ITER6,ITERATIONS ; IS THIS UNIT  DONE?

                          16     12  13AA       	BNEQ	15$		; BR IF NOT

   00000035'EF         40 8F     88  13AC       	BISB2	#1@6,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  13B4       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  13BF       	BEQL	30$		; BR IF YES

                                 04  13C1       	RET			; EXIT AST LEVEL

                                     13C2       15$:

            57   0000015E'EF     D0  13C2       	MOVL 	6*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     ED4B CF     16  13C9       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00004678'EF   0000000C'EF     D0  13CD       	MOVL	BLKNUM,RAB6+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   00003DE9'EF   0000000C'EF     D0  13D8       	MOVL	BLKNUM,BLKNUM6	; SAVE THE BLKNUM

   00004668'EF   000001BD'EF     DE  13E3       	MOVAL	TEST_DATA,RAB6+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF56 CF     DF  13EE       		PUSHAL SUC6

                 0000142C'EF     DF  13F2       		PUSHAL ERR6

                 00004640'EF     DF  13F8       		PUSHAL	RAB6

   00000000'9F            03     FB  13FE       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  1405       	RET

                                     1406       20$:

   000009C5'EF            06     90  1406       	MOVB	#6,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  140D       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  1414       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  141B       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     ECA0 CF     16  1422       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF70   31  1426       	BRW	10$		; CONTINUE

                                     1429       30$:

                          01B3   31  1429       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  142C       ERR6:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00004648'EF     D0  142E       	MOVL	RAB6+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   0000464C'EF     D0  1439       	MOVL	RAB6+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            06     90  1444       	MOVB	#6,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       EBB0 CF            00     FB  144B       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  1450       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  1456       	BNEQ	10$			; BRANCH IF YES

                 000045FC'EF     DD  1458       	  	PUSHL	FAB6+FAB$L_STV

                 000045F8'EF     DD  145E       	  	PUSHL	FAB6+FAB$L_STS

   00000000'9F            02     FB  1464       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  146B       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          012F   31  1472       	BRW	ERR_EXIT		; NO

                                     1475       10$:

                                 04  1475       	RET

                                     1476   635 	DISKTEST	7	; UNIT 7

                               0FFC  1476       SUC7:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000469D'EF            00     2C  1478       	MOVC5	#0,BUF7,#0,#2048,BUF7	; CLEAR THE READ BUFFER

       0800 8F            00         147F       

                 0000469D'EF         1483       

                 000014A2'EF     DF  1488       		PUSHAL SUCA7

                 0000155A'EF     DF  148E       		PUSHAL ERR7

                 00004EF0'EF     DF  1494       		PUSHAL	RAB7

   00000000'9F            03     FB  149A       		CALLS	#$$.TMP1,@#SYS$READ

                                 04  14A1       	RET

                               0FFC  14A2       SUCA7:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ;AST ENTRY MASK

   0000016A'EF            04     93  14A4       	BITB	#BIT2,IOSTAT	; ANY CONTROL C'S?

                          0A     13  14AB       	BEQL	5$		; BR IF NOT

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  36

1.17            MAIN CODE                                                                                                        (2)



   0000016A'EF            04     8A  14AD       	BICB	#BIT2,IOSTAT	; CLEAR CONTROL C ERROR BIT

                          00A0   31  14B4       	BRW	30$		; EXIT IF YES

                                     14B7       5$:

   000001BD'EF       0800 8F     29  14B7       	CMPC3	#2048,TEST_DATA,BUF7 ; IS DATA GOOD?

                 0000469D'EF         14C0       

                          6D     12  14C5       	BNEQ	20$		; BR IF NOT

                                     14C7       10$:

                 00004695'EF     D6  14C7       	INCL	ITER7		; INCREMENT ITERATION COUNT

   0000016B'EF   00004695'EF     D1  14CD       	CMPL	ITER7,ITERATIONS ; IS THIS UNIT  DONE?

                          16     12  14D8       	BNEQ	15$		; BR IF NOT

   00000035'EF         80 8F     88  14DA       	BISB2	#1@7,DONE_FLAG	; SET DONE FLAG

   000009C6'EF   00000035'EF     91  14E2       	CMPB	DONE_FLAG,UNIT_MASK ; ARE WE ALL DONE?

                          68     13  14ED       	BEQL	30$		; BR IF YES

                                 04  14EF       	RET			; EXIT AST LEVEL

                                     14F0       15$:

            57   00000162'EF     D0  14F0       	MOVL 	7*4+FILE_SIZE0,R7  ; GET THE FILE SIZE

                     EC1D CF     16  14F7       	JSB	GEN_RAN		; GEN RANDOM VIRTUAL BLK NUMBER

   00004F28'EF   0000000C'EF     D0  14FB       	MOVL	BLKNUM,RAB7+RAB$L_BKT ; SAVE THE NEW DISK ADDRESS

   00004699'EF   0000000C'EF     D0  1506       	MOVL	BLKNUM,BLKNUM7	; SAVE THE BLKNUM

   00004F18'EF   000001BD'EF     DE  1511       	MOVAL	TEST_DATA,RAB7+RAB$L_RBF ; GET ADDRESS OF THE TEST DATA

                     FF56 CF     DF  151C       		PUSHAL SUC7

                 0000155A'EF     DF  1520       		PUSHAL ERR7

                 00004EF0'EF     DF  1526       		PUSHAL	RAB7

   00000000'9F            03     FB  152C       		CALLS	#$$.TMP1,@#SYS$WRITE

                                 04  1533       	RET

                                     1534       20$:

   000009C5'EF            07     90  1534       	MOVB	#7,UNIT_ERROR	; SET BAD UNIT NUMBER

   00000000'EF            50     3C  153B       	MOVZWL	R0,ARGS		; GET BYTE #

   00000004'EF            61     9A  1542       	MOVZBL	(R1),ARGS+4	; GET GOOD BYTE

   00000008'EF            63     9A  1549       	MOVZBL	(R3),ARGS+8	; GET BAD BYTE

                     EB72 CF     16  1550       	JSB	DATA_ERROR	; REPORT DATA ERROR

                          FF70   31  1554       	BRW	10$		; CONTINUE

                                     1557       30$:

                          0085   31  1557       	BRW	SUC_EXIT	; EXIT CLEAN!

                               0FFC  155A       ERR7:	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>	; ENTRY MASK

   000001AD'EF   00004EF8'EF     D0  155C       	MOVL	RAB7+RAB$L_STS,RMS_ERR_STS ; SAVE STATUS FIELD

   000001B1'EF   00004EFC'EF     D0  1567       	MOVL	RAB7+RAB$L_STV,RMS_ERR_STV ; SAVE STV FIELD

   000009C5'EF            07     90  1572       	MOVB	#7,UNIT_ERROR		; SAVE # OF DRIVE WHO ERRED

       EA82 CF            00     FB  1579       	CALLS	#0,RMS_ERR		; REPORT IT

                 000009C6'EF     95  157E       	TSTB	UNIT_MASK		; ANY OTHER DRIVES BEING TESTED?

                          1D     12  1584       	BNEQ	10$			; BRANCH IF YES

                 00004EAC'EF     DD  1586       	  	PUSHL	FAB7+FAB$L_STV

                 00004EA8'EF     DD  158C       	  	PUSHL	FAB7+FAB$L_STS

   00000000'9F            02     FB  1592       		CALLS	#$$T1,@#LIB$SIGNAL

   0000016A'EF            02     8A  1599       	BICB	#BIT1,IOSTAT		; CLEAR ERROR BIT IN IOSTAT

                          0001   31  15A0       	BRW	ERR_EXIT		; NO

                                     15A3       10$:

                                 04  15A3       	RET

                                     15A4   636 ERR_EXIT:

                 00000036'EF     D6  15A4   637 	INCL	ERROR_CNT			; INC CUM. ERROR COUNT

                                     15AA   638 	PUTMSG	<#UETP$_ERBOX,#1,ERROR_CNT,-

                                     15AA   639 		#UETP$_TEXT,#1,#NOMORDEV,-

                                     15AA   640 		#UETP$_ABENDD,#2,#TSTNAM,#0> ; PRINT EXIT MESSAGE

                          00     DD  15AA       	  	PUSHL	#0

                 000000A1'8F     DD  15AC       	  	PUSHL	#TSTNAM

                          02     DD  15B2       	  	PUSHL	#2

                 00000000'8F     DD  15B4       	  	PUSHL	#UETP$_ABENDD

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  37

1.17            MAIN CODE                                                                                                        (2)



                 00000083'8F     DD  15BA       	  	PUSHL	#NOMORDEV

                          01     DD  15C0       	  	PUSHL	#1

                 00000000'8F     DD  15C2       	  	PUSHL	#UETP$_TEXT

                 00000036'EF     DD  15C8       	  	PUSHL	ERROR_CNT

                          01     DD  15CE       	  	PUSHL	#1

                 00000000'8F     DD  15D0       	  	PUSHL	#UETP$_ERBOX

   00000000'9F            0A     FB  15D6       		CALLS	#$$T1,@#LIB$SIGNAL

                          17     11  15DD   641 	BRB	LAST			; GO TO EXIT COMMON

                                     15DF   642 SUC_EXIT:

                                     15DF   643 	PUTMSG	<#UETP$_ENDEDD,#2,#TSTNAM,#0> ; PRINT ENDING MESSAGE

                          00     DD  15DF       	  	PUSHL	#0

                 000000A1'8F     DD  15E1       	  	PUSHL	#TSTNAM

                          02     DD  15E7       	  	PUSHL	#2

                 00000000'8F     DD  15E9       	  	PUSHL	#UETP$_ENDEDD

   00000000'9F            04     FB  15EF       		CALLS	#$$T1,@#LIB$SIGNAL

                                     15F6   644 LAST:

            53            01     D0  15F6   645 	MOVL	#1,R3			; SET SHIFT COUNT

            54            01     D0  15F9   646 	MOVL	#1,R4			; SET MASK BIT

   000009C6'EF            54     93  15FC   647 	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          33     13  1603   648 	BEQL	20$			; BR IF NOT

                                     1605   649 	$DISCONNECT RAB=RAB0,ERR=ERR0	; DISCONNECT THE RAB

                     F714 CF     DF  1605       		PUSHAL ERR0

                 00001220'EF     DF  1609       		PUSHAL	RAB0

   00000000'9F            02     FB  160F       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                                     1616   650 	$CLOSE	FAB=FAB0,ERR=ERR0	; CLOSE THE FILE

                     F703 CF     DF  1616       		PUSHAL ERR0

                 000011D0'EF     DF  161A       		PUSHAL	FAB0

   00000000'9F            02     FB  1620       		CALLS	#$$.TMP1,@#SYS$CLOSE

                                     1627   651 	$ERASE	FAB=FAB0,ERR=ERR0	; AND WIPE OUT THE FILE

                     F6F2 CF     DF  1627       		PUSHAL ERR0

                 000011D0'EF     DF  162B       		PUSHAL	FAB0

   00000000'9F            02     FB  1631       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     1638   652 20$:

                                     1638   653 	END	<1>

            54            53     9C  1638       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         163B       

   000009C6'EF            54     93  163C       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  1643       	BNEQ	30064$			; BR IF YES

                          0033   31  1645       	BRW	30065$			; END

                                     1648       30064$:

                     F7FE CF     DF  1648       		PUSHAL ERR1

                 00001AD0'EF     DF  164C       		PUSHAL	RAB1

   00000000'9F            02     FB  1652       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     F7ED CF     DF  1659       		PUSHAL ERR1

                 00001A80'EF     DF  165D       		PUSHAL	FAB1

   00000000'9F            02     FB  1663       		CALLS	#$$.TMP1,@#SYS$CLOSE

                     F7DC CF     DF  166A       		PUSHAL ERR1

                 00001A80'EF     DF  166E       		PUSHAL	FAB1

   00000000'9F            02     FB  1674       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     167B       30065$:

                                     167B   654 	END	<2>

            54            53     9C  167B       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         167E       

   000009C6'EF            54     93  167F       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  1686       	BNEQ	30066$			; BR IF YES

                          0033   31  1688       	BRW	30067$			; END

                                     168B       30066$:

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  38

1.17            MAIN CODE                                                                                                        (2)



                     F8E8 CF     DF  168B       		PUSHAL ERR2

                 00002380'EF     DF  168F       		PUSHAL	RAB2

   00000000'9F            02     FB  1695       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     F8D7 CF     DF  169C       		PUSHAL ERR2

                 00002330'EF     DF  16A0       		PUSHAL	FAB2

   00000000'9F            02     FB  16A6       		CALLS	#$$.TMP1,@#SYS$CLOSE

                     F8C6 CF     DF  16AD       		PUSHAL ERR2

                 00002330'EF     DF  16B1       		PUSHAL	FAB2

   00000000'9F            02     FB  16B7       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     16BE       30067$:

                                     16BE   655 	END	<3>

            54            53     9C  16BE       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         16C1       

   000009C6'EF            54     93  16C2       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  16C9       	BNEQ	30068$			; BR IF YES

                          0033   31  16CB       	BRW	30069$			; END

                                     16CE       30068$:

                     F9D2 CF     DF  16CE       		PUSHAL ERR3

                 00002C30'EF     DF  16D2       		PUSHAL	RAB3

   00000000'9F            02     FB  16D8       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     F9C1 CF     DF  16DF       		PUSHAL ERR3

                 00002BE0'EF     DF  16E3       		PUSHAL	FAB3

   00000000'9F            02     FB  16E9       		CALLS	#$$.TMP1,@#SYS$CLOSE

                     F9B0 CF     DF  16F0       		PUSHAL ERR3

                 00002BE0'EF     DF  16F4       		PUSHAL	FAB3

   00000000'9F            02     FB  16FA       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     1701       30069$:

                                     1701   656 	END	<4>

            54            53     9C  1701       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         1704       

   000009C6'EF            54     93  1705       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  170C       	BNEQ	30070$			; BR IF YES

                          0033   31  170E       	BRW	30071$			; END

                                     1711       30070$:

                     FABC CF     DF  1711       		PUSHAL ERR4

                 000034E0'EF     DF  1715       		PUSHAL	RAB4

   00000000'9F            02     FB  171B       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     FAAB CF     DF  1722       		PUSHAL ERR4

                 00003490'EF     DF  1726       		PUSHAL	FAB4

   00000000'9F            02     FB  172C       		CALLS	#$$.TMP1,@#SYS$CLOSE

                     FA9A CF     DF  1733       		PUSHAL ERR4

                 00003490'EF     DF  1737       		PUSHAL	FAB4

   00000000'9F            02     FB  173D       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     1744       30071$:

                                     1744   657 	END	<5>

            54            53     9C  1744       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         1747       

   000009C6'EF            54     93  1748       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  174F       	BNEQ	30072$			; BR IF YES

                          0033   31  1751       	BRW	30073$			; END

                                     1754       30072$:

                     FBA6 CF     DF  1754       		PUSHAL ERR5

                 00003D90'EF     DF  1758       		PUSHAL	RAB5

   00000000'9F            02     FB  175E       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     FB95 CF     DF  1765       		PUSHAL ERR5

                 00003D40'EF     DF  1769       		PUSHAL	FAB5

   00000000'9F            02     FB  176F       		CALLS	#$$.TMP1,@#SYS$CLOSE

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  39

1.17            MAIN CODE                                                                                                        (2)



                     FB84 CF     DF  1776       		PUSHAL ERR5

                 00003D40'EF     DF  177A       		PUSHAL	FAB5

   00000000'9F            02     FB  1780       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     1787       30073$:

                                     1787   658 	END	<6>

            54            53     9C  1787       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         178A       

   000009C6'EF            54     93  178B       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  1792       	BNEQ	30074$			; BR IF YES

                          0033   31  1794       	BRW	30075$			; END

                                     1797       30074$:

                     FC91 CF     DF  1797       		PUSHAL ERR6

                 00004640'EF     DF  179B       		PUSHAL	RAB6

   00000000'9F            02     FB  17A1       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     FC80 CF     DF  17A8       		PUSHAL ERR6

                 000045F0'EF     DF  17AC       		PUSHAL	FAB6

   00000000'9F            02     FB  17B2       		CALLS	#$$.TMP1,@#SYS$CLOSE

                     FC6F CF     DF  17B9       		PUSHAL ERR6

                 000045F0'EF     DF  17BD       		PUSHAL	FAB6

   00000000'9F            02     FB  17C3       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     17CA       30075$:

                                     17CA   659 	END	<7>

            54            53     9C  17CA       	ROTL	R3,R4,R4		; SHIFT MASK

                          54         17CD       

   000009C6'EF            54     93  17CE       	BITB	R4,UNIT_MASK		; WAS IT TESTED?

                          03     12  17D5       	BNEQ	30076$			; BR IF YES

                          0033   31  17D7       	BRW	30077$			; END

                                     17DA       30076$:

                     FD7C CF     DF  17DA       		PUSHAL ERR7

                 00004EF0'EF     DF  17DE       		PUSHAL	RAB7

   00000000'9F            02     FB  17E4       		CALLS	#$$.TMP1,@#SYS$DISCONNECT

                     FD6B CF     DF  17EB       		PUSHAL ERR7

                 00004EA0'EF     DF  17EF       		PUSHAL	FAB7

   00000000'9F            02     FB  17F5       		CALLS	#$$.TMP1,@#SYS$CLOSE

                     FD5A CF     DF  17FC       		PUSHAL ERR7

                 00004EA0'EF     DF  1800       		PUSHAL	FAB7

   00000000'9F            02     FB  1806       		CALLS	#$$.TMP1,@#SYS$ERASE

                                     180D       30077$:

                                     180D   660 LAST1:

            52   00000029'EF     D0  180D   661 	MOVL	CNTRL_NAME,R2		;USE CTRL NAME AS RETURN STATUS

            52   10000000 8F     C8  1814   662 	BISL2	#1@28,R2		;SUPPRESS MSG OUTPUT BY DCL

                                     181B   663 	$EXIT_S	R2

                          52     DD  181B       		PUSHL	R2

   00000000'GF            01     FB  181D       		CALLS	#1,G^SYS$EXIT

                                     1824   664 	.END	UETDISK00

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  40

SYMBOL TABLE                                                                                                                     (2)



$$$CHARS       = 00000002            FAB$B_BID        00000000            FAB$M_MXV      = 00000002            

$$$STRINGS     = 00000000            FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            

$$.TAB         = 00004F98 R     03   FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            

$$.TABEND      = 00004FDC R     03   FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            

$$.TMP         = 00000000            FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            

$$.TMP1        = 00000002            FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            

$$.TMP2        = 000000EF            FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            

$$T1           = 00000004            FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            

ALL_SET          000004ED R     05   FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            

ARGS             00000000 R     03   FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            

BIT...         = 00000020            FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            

BIT0           = 00000001            FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            

BIT1           = 00000002            FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            

BIT2           = 00000004            FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            

BLKNUM           0000000C R     03   FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            

BLKNUM0          000009CB R     03   FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            

BLKNUM1          00001279 R     03   FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            

BLKNUM2          00001B29 R     03   FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            

BLKNUM3          000023D9 R     03   FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            

BLKNUM4          00002C89 R     03   FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            

BLKNUM5          00003539 R     03   FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            

BLKNUM6          00003DE9 R     03   FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            

BLKNUM7          00004699 R     03   FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            

BUF0             000009CF R     03   FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            

BUF1             0000127D R     03   FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            

BUF2             00001B2D R     03   FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            

BUF3             000023DD R     03   FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            

BUF4             00002C8D R     03   FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            

BUF5             0000353D R     03   FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            

BUF6             00003DED R     03   FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            

BUF7             0000469D R     03   FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            

CCASTHAND        00000158 R     05   FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            

CLOSE_ERR        000004C7 R     05   FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            

CLSTR_FLAG     = 00000040            FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            

CLUSTER2         00000000 R     02   FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            

CNTRLCMSG        00000010 R     02   FAB$L_STS        00000008            FAB$V_BLK      = 00000003            

CNTRL_NAME       00000029 R     03   FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            

CNTRL_NAME_STR   00000010 R     03   FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            

CNVTAH           ********   X   05   FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            

CYL              0000002D R     03   FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            

DATA_ERROR       000000C6 R     05   FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            

DEVNF            00000461 R     05   FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            

DIE              00000071 R     05   FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            

DIEARG           00000031 R     03   FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            

DONE_FLAG        00000035 R     03   FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

ERR0             00000D1D R     05   FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

ERR1             00000E4A R     05   FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

ERR2             00000F77 R     05   FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

ERR3             000010A4 R     05   FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            

ERR4             000011D1 R     05   FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

ERR5             000012FE R     05   FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

ERR6             0000142C R     05   FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

ERR7             0000155A R     05   FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            

ERROR_CNT        00000036 R     03   FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

ERR_EXIT         000015A4 R     05   FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

ERR_STRLEN       0000003A R     03   FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            

FAB              00004F48 R     03   FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  41

SYMBOL TABLE                                                                                                                     (2)



FAB$V_NIL      = 00000005            FILEL3         = 00000011            RAB$B_ROP2       00000006            

FAB$V_OFP      = 0000001D            FILEL4         = 00000011            RAB$B_ROP3       00000007            

FAB$V_ORG      = 00000004            FILEL5         = 00000011            RAB$B_TMO        0000001F            

FAB$V_POS      = 00000008            FILEL6         = 00000011            RAB$C_BID      = 00000001            

FAB$V_PPF      = 00000012            FILEL7         = 00000011            RAB$C_BLN        00000044            

FAB$V_PPF_IND  = 0000000E            FILE_ERR         00000133 R     05   RAB$C_KEY      = 00000001            

FAB$V_PPF_RAT  = 00000006            FILE_NAME        0000003C R     02   RAB$C_RFA      = 00000002            

FAB$V_PRN      = 00000002            FILE_NAME_STR    00000034 R     02   RAB$C_SEQ      = 00000000            

FAB$V_PUT      = 00000000            FILE_SIZE0       00000146 R     03   RAB$K_BLN        00000044            

FAB$V_RCK      = 00000017            FILE_SIZE1       0000014A R     03   RAB$L_BKT        00000038            

FAB$V_RWC      = 0000000B            FILE_SIZE2       0000014E R     03   RAB$L_CTX        00000018            

FAB$V_RWO      = 00000007            FILE_SIZE3       00000152 R     03   RAB$L_DCT        00000038            

FAB$V_SCF      = 0000000E            FILE_SIZE4       00000156 R     03   RAB$L_FAB        0000003C            

FAB$V_SHRDEL   = 00000002            FILE_SIZE5       0000015A R     03   RAB$L_KBF        00000030            

FAB$V_SHRGET   = 00000001            FILE_SIZE6       0000015E R     03   RAB$L_PBF        00000030            

FAB$V_SHRPUT   = 00000000            FILE_SIZE7       00000162 R     03   RAB$L_RBF        00000028            

FAB$V_SHRUPD   = 00000003            FINDPOS          00000166 R     03   RAB$L_RFA0       00000010            

FAB$V_SPL      = 0000000D            FIND_IT          00000332 R     05   RAB$L_RHB        0000002C            

FAB$V_SQO      = 00000006            FIND_SIZE        00000423 R     05   RAB$L_ROP        00000004            

FAB$V_SUP      = 00000002            FOUND_IT         00000372 R     05   RAB$L_STS        00000008            

FAB$V_TEF      = 0000001C            GBL...         = 00000000            RAB$L_STV        0000000C            

FAB$V_TMD      = 00000004            GEN_RAN          00000118 R     05   RAB$L_UBF        00000024            

FAB$V_TMP      = 00000003            GET_DATA         000005AA R     05   RAB$M_ASY      = 00000001            

FAB$V_TRN      = 00000004            IO$M_CTRLCAST    ********   X   05   RAB$M_BIO      = 00000800            

FAB$V_UFM      = 0000001A            IO$_SETMODE      ********   X   05   RAB$M_CCO      = 80000000            

FAB$V_UFO      = 00000011            IOSTAT           0000016A R     03   RAB$M_CVT      = 04000000            

FAB$V_UPD      = 00000003            ITER0            000009C7 R     03   RAB$M_EOF      = 00000100            

FAB$V_UPI      = 00000006            ITER1            00001275 R     03   RAB$M_FDL      = 00000040            

FAB$V_WCK      = 00000009            ITER2            00001B25 R     03   RAB$M_HSH      = 00000080            

FAB$W_BLS        0000003C            ITER3            000023D5 R     03   RAB$M_KGE      = 00200000            

FAB$W_DEQ        00000014            ITER4            00002C85 R     03   RAB$M_KGT      = 00400000            

FAB$W_IFI        00000002            ITER5            00003535 R     03   RAB$M_LIM      = 00004000            

FAB$W_MRS        00000036            ITER6            00003DE5 R     03   RAB$M_LOA      = 00002000            

FAB0             000011D0 R     03   ITER7            00004695 R     03   RAB$M_LOC      = 00010000            

FAB1             00001A80 R     03   ITERATION      = 000007D0            RAB$M_MAS      = 00000020            

FAB2             00002330 R     03   ITERATIONS       0000016B R     03   RAB$M_NLK      = 00100000            

FAB3             00002BE0 R     03   LAST             000015F6 R     05   RAB$M_NXR      = 00800000            

FAB4             00003490 R     03   LAST1            0000180D R     05   RAB$M_PMT      = 40000000            

FAB5             00003D40 R     03   LIB$SIGNAL       ********   X   05   RAB$M_PPF_IND  = 00004000            

FAB6             000045F0 R     03   LOGNAM           00000049 R     02   RAB$M_PPF_RAT  = 00003FC0            

FAB7             00004EA0 R     03   LOGNAM1          0000005E R     02   RAB$M_PTA      = 20000000            

FAO_BUF          0000003E R     03   LOGNAM2          00000071 R     02   RAB$M_RAH      = 00000200            

FAO_BUFFER       00000046 R     03   NAME_SIZE      = 0000000D            RAB$M_RLK      = 00080000            

FAO_BUFL       = 00000100            NOMORDEV         00000083 R     02   RAB$M_RNE      = 01000000            

FE1              000002D5 R     05   PNL            = 0000000C            RAB$M_RNF      = 08000000            

FE2              00000315 R     05   POS              0000016F R     03   RAB$M_TMO      = 02000000            

FILE0            00001264 R     03   PROCESS_NAME     00000018 R     03   RAB$M_TPT      = 00000002            

FILE1            00001B14 R     03   RAB              00004F98 R     03   RAB$M_UIF      = 00000010            

FILE2            000023C4 R     03   RAB$B_BID        00000000            RAB$M_ULK      = 00040000            

FILE3            00002C74 R     03   RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            

FILE4            00003524 R     03   RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            

FILE5            00003DD4 R     03   RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            

FILE6            00004684 R     03   RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            

FILE7            00004F34 R     03   RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            

FILEL0         = 00000011            RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            

FILEL1         = 00000011            RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            

FILEL2         = 00000011            RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  42

SYMBOL TABLE                                                                                                                     (2)



RAB$V_FDL      = 00000006            SUCA1            00000D93 R     05   

RAB$V_HSH      = 00000007            SUCA2            00000EC0 R     05   

RAB$V_KGE      = 00000015            SUCA3            00000FED R     05   

RAB$V_KGT      = 00000016            SUCA4            0000111A R     05   

RAB$V_LIM      = 0000000E            SUCA5            00001247 R     05   

RAB$V_LOA      = 0000000D            SUCA6            00001374 R     05   

RAB$V_LOC      = 00000010            SUCA7            000014A2 R     05   

RAB$V_MAS      = 00000005            SUC_EXIT         000015DF R     05   

RAB$V_NLK      = 00000014            SYS$ASCEFC       ********   X   05   

RAB$V_NXR      = 00000017            SYS$ASSIGN       ********   X   05   

RAB$V_PMT      = 0000001E            SYS$CLOSE        ********  GX   05   

RAB$V_PPF_IND  = 0000000E            SYS$CONNECT      ********  GX   05   

RAB$V_PPF_RAT  = 00000006            SYS$CREATE       ********  GX   05   

RAB$V_PTA      = 0000001D            SYS$DISCONNECT   ********  GX   05   

RAB$V_RAH      = 00000009            SYS$ERASE        ********  GX   05   

RAB$V_RLK      = 00000013            SYS$EXIT         ********   X   05   

RAB$V_RNE      = 00000018            SYS$GET          ********  GX   05   

RAB$V_RNF      = 0000001B            SYS$HIBER        ********   X   05   

RAB$V_TMO      = 00000019            SYS$OPEN         ********  GX   05   

RAB$V_TPT      = 00000001            SYS$QIOW         ********   X   05   

RAB$V_UIF      = 00000004            SYS$READ         ********  GX   05   

RAB$V_ULK      = 00000012            SYS$SETEF        ********   X   05   

RAB$V_WAT      = 00000011            SYS$SETPRN       ********   X   05   

RAB$V_WBH      = 0000000A            SYS$TRNLOG       ********   X   05   

RAB$W_ISI        00000002            SYS$WRITE        ********  GX   05   

RAB$W_RFA        00000010            TEST_DATA        000001BD R     03   

RAB$W_RFA4       00000014            TRAC             000009BD R     03   

RAB$W_RSZ        00000022            TSTNAM           000000A1 R     02   

RAB$W_USZ        00000020            TTCHAN           000009C1 R     03   

RAB0             00001220 R     03   TTNAM            000000B2 R     02   

RAB1             00001AD0 R     03   UETDISK00        00000177 RG    05   

RAB2             00002380 R     03   UETP$_ABENDD     ********   X   05   

RAB3             00002C30 R     03   UETP$_ATPC       ********   X   05   

RAB4             000034E0 R     03   UETP$_BEGIND     ********   X   05   

RAB5             00003D90 R     03   UETP$_CLOSEIN    ********   X   05   

RAB6             00004640 R     03   UETP$_DATAER     ********   X   05   

RAB7             00004EF0 R     03   UETP$_DENOSU     ********   X   05   

RANBUF           000000A2 R     05   UETP$_DESTP      ********   X   05   

RANDOM1          00000173 R     03   UETP$_ENDEDD     ********   X   05   

RANDOM2          00000177 R     03   UETP$_ERBOX      ********   X   05   

RECORD           0000017B R     03   UETP$_OPENIN     ********   X   05   

RK               000002BB R     05   UETP$_TEXT       ********   X   05   

RMS$_EOF         ********   X   05   UNIT_ERROR       000009C5 R     03   

RMS_ERR          00000000 R     05   UNIT_MASK        000009C6 R     03   

RMS_ERR_STS      000001AD R     03   

RMS_ERR_STV      000001B1 R     03   

SEC              000001B5 R     03   

STRLEN           000001B9 R     03   

SUC0             00000C3A R     05   

SUC1             00000D67 R     05   

SUC2             00000E94 R     05   

SUC3             00000FC1 R     05   

SUC4             000010EE R     05   

SUC5             0000121B R     05   

SUC6             00001348 R     05   

SUC7             00001476 R     05   

SUCA0            00000C66 R     05   

UETDISK00       - VAX/VMS UETP DISK EXERCISER                    22-AUG-1978 03:18:17   VAX-11 MACRO X0.3-11               Page  43

PROGRAM SECTION SYNOPSIS                                                                                                         (2)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

RODATA           000000BC      02     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD  NOWRT LONG  

RWDATA           00004FDC      03     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT LONG  

$ABS$            00000050      04     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

UETDISK00        00001824      05     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

3854. BYTES LEFT IN FREE MEMORY POOL.

6. BYTES OF RECLAIMED MEMORY.

OBJ$:UETDISK00,LIS$:UETDISK00/-SP=SRC$:UETPLIBS,UETDISK00

105 MLB DIR RDS - 738 GETS TO DEFINE 47 MACROS. 362 INTER. FILE WRITES. 

