DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      53  RX FUNCTION DECISION TABLE

   (1)     112  START I/O OPERATION

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   1

01                                                                                                                               (1)



                                     0000     1 	.TITLE	DXUTILITY - FLOPPY DISK DRIVER UTILITY ROUTINES

                                     0000     2 	.IDENT	/01/

                                     0000     3  

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

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

                                     0000     9 ; SINGLE COMPUTER SYSTEM AND MAY BE  COPIED ONLY WITH  THE INCLU-

                                     0000    10 ; SION OF  THE  ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE,  OR  ANY

                                     0000    11 ; OTHER COPIES THEREOF, MAY NOT BE  PROVIDED  OR  OTHERWISE  MADE

                                     0000    12 ; AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH SYSTEM

                                     0000    13 ; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

                                     0000    14 ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

                                     0000    15 ;

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

                                     0000    17 ; NOTICE AND SHOULD NOT BE CONSTRUED  AS  A COMMITMENT BY DIGITAL

                                     0000    18 ; EQUIPMENT CORPORATION.

                                     0000    19 ;

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

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

                                     0000    22 ;

                                     0000    23 ; C. A. MONIA 25-JUN-77

                                     0000    24 ;

                                     0000    25 ; STAR FLOPPY DRIVER UTILITY ROUTINES

                                     0000    26 ;

                                     0000    27 ; MACRO LIBRARY CALLS

                                     0000    28 ;

                                     0000    29  

                                     0000    30 	$ADPDEF				;DEFINE ADP OFFSETS

                                     0000    31 	$CRBDEF				;DEFINE CRB OFFSETS

                                     0000    32 	$EMBDEF				;DEFINE EMB OFFSETS

                                     0000    33 	$IDBDEF				;DEFINE IDB OFFSETS

                                     0000    34 	$IODEF				;DEFINE I/O FUNCTION CODES

                                     0000    35 	$IRPDEF				;DEFINE IRP OFFSETS

                                     0000    36 	$PRDEF				;DEFINE PROCESSOR REGISTERS

                                     0000    37 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000    38 	$UBADEF				;DEFINE UBA REGISTER OFFSETS

                                     0000    39 	$UCBDEF				;DEFINE UCB OFFSETS

                                     0000    40 	$VECDEF				;DEFINE INTERRUPT DISPATCH VECTOR OFFSETS

                                     0000    41  

                                     0000    42 ;

                                     0000    43 ; LOCAL MACROS

                                     0000    44 ;

                                     0000    45 ; REPORT DEVICE ERROR

                                     0000    46 ;

                                     0000    47  

                                     0000    48 	.MACRO	RPTERR	CODE

                                     0000    49 	MOVZWL	CODE,R0

                                     0000    50 	BRB	FUNCXT

                                     0000    51 	.ENDM

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   2

01              RX FUNCTION DECISION TABLE                                                                                       (1)



                                     0000    53 	.SBTTL	RX FUNCTION DECISION TABLE

                                     0000    54 ;+

                                     0000    55 ; RX FUNCTION DECISION TABLE

                                     0000    56 ;-

                                     0000    57  

                                 00000000    58 	.PSECT	$$$115_DRIVER,LONG

                                     0000    59 DX$FUNCTABLE::				;FUNCTION DECISION TABLE

                                     0000    60 	FUNCTAB	,-			;LEGAL FUNCTIONS

                                     0000    61 		<SENSECHAR,-		;SENSE CHARACTERISTICS

                                     0000    62 		SETCHAR,-		;SET CHARACTERISTICS

                                     0000    63 		SENSEMODE,-		;SENSE MODE

                                     0000    64 		SETMODE,-		;SET MODE

                                     0000    65 		READLBLK,-		;READ LOGICAL BLOCK

                                     0000    66 		WRITELBLK,-		;WRITE LOGICAL BLOCK

                                     0000    67 		READPBLK,-		;READ PHYSICAL BLOCK

                                     0000    68 		WRITEPBLK,-		;WRITE PHYSICAL BLOCK

                                     0000    69 		READVBLK,-		;READ VIRTUAL BLOCK

                                     0000    70 		WRITEVBLK,-		;WRITE VIRTUAL BLOCK

                                     0000    71 		ACCESS,-		;ACCESS FILE AND/OR FIND DIRECTORY ENTRY

                                     0000    72 		ACPCONTROL,-		;ACP CONTROL FUNCTION

                                     0000    73 		CREATE,-		;CREATE FILE AND/OR DIRECTORY ENTRY

                                     0000    74 		DEACCESS,-		;DEACCESS FILE

                                     0000    75 		DELETE,-		;DELETE FILE AND/OR DIRECTORY ENTRY

                                     0000    76 		MODIFY,-		;MODIFY FILE ATTRIBUTES

                                     0000    77 		MOUNT>			;MOUNT VOLUME

                                     0008    78 	FUNCTAB	,-			;BUFFERED I/O FUNCTIONS

                                     0008    79 		<SENSECHAR,-		;SENSE CHARACTERISTICS

                                     0008    80 		SETCHAR,-		;SET CHARACTERISTICS

                                     0008    81 		SENSEMODE,-		;SENSE MODE

                                     0008    82 		SETMODE,-		;SET MODE

                                     0008    83 		ACCESS,-		;ACCESS FILE AND/OR FIND DIRECTORY ENTRY

                                     0008    84 		ACPCONTROL,-		;ACP CONTROL FUNCTION

                                     0008    85 		CREATE,-		;CREATE FILE AND/OR DIRECTORY ENTRY

                                     0008    86 		DEACCESS,-		;DEACCESS FILE

                                     0008    87 		DELETE,-		;DELETE FILE AND/OR DIRECTORY ENTRY

                                     0008    88 		MODIFY,-		;MODIFY FILE ATTRIBUTES

                                     0008    89 		MOUNT>			;MOUNT VOLUME

                                     0010    90 	FUNCTAB	+ACP$READBLK,-		;READ FUNCTIONS

                                     0010    91 		<READLBLK,-		;READ LOGICAL BLOCK

                                     0010    92 		READPBLK,-		;READ PHYSICAL BLOCK

                                     0010    93 		READVBLK>		;READ VIRTUAL BLOCK

                                     001C    94 	FUNCTAB	+ACP$WRITEBLK,-		;WRITE FUNCTIONS

                                     001C    95 		<WRITELBLK,-		;WRITE LOGICAL BLOCK

                                     001C    96 		WRITEPBLK,-		;WRITE PHYSICAL BLOCK

                                     001C    97 		WRITEVBLK>		;WRITE VIRTUAL BLOCK

                                     0028    98 	FUNCTAB	+ACP$ACCESS,<ACCESS,CREATE> ;ACCESS AND CREATE FILE OR DIRECTORY

                                     0034    99 	FUNCTAB	+ACP$DEACCESS,<DEACCESS>;DEACCESS FILE

                                     0040   100 	FUNCTAB	+ACP$MODIFY,-		;

                                     0040   101 		<ACPCONTROL,-		;ACP CONTROL FUNCTION

                                     0040   102 		DELETE,-		;DELETE FILE OR DIRECTORY ENTRY

                                     0040   103 		MODIFY>			;MODIFY FILE ATTRIBUTES

                                     004C   104 	FUNCTAB	+ACP$MOUNT,<MOUNT>	;MOUNT VOLUME

                                     0058   105 	FUNCTAB	+EXE$SENSEMODE,-	;

                                     0058   106 		<SENSECHAR,-		;SENSE CHARACTERISTICS

                                     0058   107 		SENSEMODE>		;SENSE MODE

                                     0064   108 	FUNCTAB	+EXE$SETCHAR,-		;

                                     0064   109 		<SETCHAR,-		;SET CHARACTERISTICS

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   3

01              RX FUNCTION DECISION TABLE                                                                                       (1)



                                     0064   110 		SETMODE>		;SET MODE

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   4

01              START I/O OPERATION                                                                                              (1)



                                     0070   112 	.SBTTL	START I/O OPERATION

                                     0070   113  

                                     0070   114 ;+

                                     0070   115 ; DX$STARTIO - START I/O ON FLOPPY DEVICE UNIT

                                     0070   116 ;

                                     0070   117 ; THIS ROUTINE IS ENTERED VIA A 'BSBW' TO START I/O ON A DEVICE UNIT.

                                     0070   118 ; CONTROL ALTERNATES BETWEEN THE FLOPPY DRIVER AND THIS CODE. THIS ROU-

                                     0070   119 ; TINE IS CALLED TO PERFORM HARDWARE INDEPENDANT PROCESSING. ALL HARD-

                                     0070   120 ; WARE SPECIFIC PROCESSING IS PERORMED BY DEVICE-SPECIFIC CODE IN THE

                                     0070   121 ; DRIVER. 

                                     0070   122 ;

                                     0070   123 ; THE PROTOCOL IS AS FOLLOWS:

                                     0070   124 ;

                                     0070   125 ;	1. THE DRIVER CALLS DX$STARTIO TO ESTABLISH INITIAL CONDITIONS.

                                     0070   126 ;

                                     0070   127 ;	2. DXUTILITY COMPUTES THE PHYSICAL MEDIA ADDRESS AND BUFFER ADDRESS

                                     0070   128 ;	   AND EXECUTES A CO-ROUTINE CALL TO THE DRIVER.

                                     0070   129 ;

                                     0070   130 ;	3. THE DRIVER POSITIONS THE MEDIA, PERFORMS ANY ADDITIONAL HARDWARE

                                     0070   131 ;	   FUNCTIONS AND RETURNS CONTROL TO DXUTILITY.

                                     0070   132 ;

                                     0070   133 ;	4. CONTROL ALTERNATES BETWEEN THE DRIVER AND DXUTILITY UNTIL ONE

                                     0070   134 ;	   SECTOR OF DATA HAS BEEN TRANSFERRED TO THE INTERNAL BUFFER.

                                     0070   135 ;

                                     0070   136 ;	5. DXUTILITY FLAGS COMPLETION OF A SECTOR TRANSFER AND CALLS THE DRI-

                                     0070   137 ;	   VER TO PERFORM END-OF-SECTOR PROCESSING AND DROP TO FORK LEVEL.

                                     0070   138 ;

                                     0070   139 ;	6. THE DRIVER CALLS DXUTILITY TO UPDATE THE MEDIA ADDRESS. IF MORE

                                     0070   140 ;	   DATA REMAINS TO BE TRANSFERRED, DXUTILITY TRANSFERS CONTROL TO

                                     0070   141 ;	   STEP 2 TO CONTINUE PROCESSING.

                                     0070   142 ;

                                     0070   143 ; EACH CO-ROUTINE CALL SITE CONTAINS A CONTINGENCY EXIT ADDRESS. IN THE

                                     0070   144 ; EVENT OF A HARDWARE ERROR, CONTROL WILL BE PASSED TO THE ERROR HANDLER

                                     0070   145 ; TO EFFECT A RE-TRY OR TERMINATE THE REQUEST.

                                     0070   146 ;

                                     0070   147 ; INPUTS:

                                     0070   148 ;

                                     0070   149 ;	R3 = ADDRESS OF I/O PACKET

                                     0070   150 ;

                                     0070   151 ;	R5 = UCB ADDRESS OF DEVICE UNIT

                                     0070   152 ;

                                     0070   153 ; OUTPUTS:

                                     0070   154 ;

                                     0070   155 ;	*******OUTPUTS*******

                                     0070   156 ;

                                     0070   157 ;-

                                     0070   158  

                                     0070   159 	.ENABL	LSB

                                     0070   160  

                                     0070   161 DX$STARTIO::				;START I/O OPERATION

         2A A3            08     E0  0070   162 	BBS	#IRP$V_PHYSIO,IRP$W_STS(R3),1$ ;BYPASS BLOCK COMPUTATION IF PHYSICAL I/O

                          21         0074       

         34 A3            04     7A  0075   163 	EMUL	#4,IRP$L_MEDIA(R3),#0,R0 ;SCALE LBN, QUAD RESULT TO R0

            50            00         0079       

            52         3C A5     9A  007B   164 	MOVZBL	UCB$L_DEVDEPEND(R5),R2	;GET NUMBER OF SECTORS PER TRACK

            50            52     7B  007F   165 	EDIV	R2,R0,R0,IRP$L_MEDIA(R3) ;COMPUTE SECTOR

         34 A3            50         0082       

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   5

01              START I/O OPERATION                                                                                              (1)



            52         3D A5     9A  0085   166 	MOVZBL	UCB$L_DEVDEPEND+1(R5),R2 ;GET TRACKS PER CYLINDER

            50            52     7B  0089   167 	EDIV	R2,R0,R0,R1		;COMPUTE TRACKS (R1), CYL. (R0)

            51            50         008C       

         35 A3            51     90  008E   168 	MOVB	R1,IRP$L_MEDIA+1(R3)	;SAVE TRACK ADDRESS

         36 A3            50     B0  0092   169 	MOVW	R0,IRP$L_MEDIA+2(R3)	;SAVE CYLINDER ADDRESS

                                     0096   170 1$:					;

       00A4 C5         6E A5     B0  0096   171 	MOVW	UCB$W_BCNT(R5),UCB$W_DX_BCR(R5) ;STORE BYTE COUNT

         5A A5            03     E5  009C   172 	BBCC	#UCB$V_DX_WRITE,UCB$W_DEVSTS(R5),2$ ;CLEAR WRITE FLAG

                          00         00A0       

                                     00A1   173 2$:					;

                          0111   30  00A1   174 	BSBW	SETBUF			;SETUP BUFFER PARAMETERS

            06            00     EF  00A4   175 	EXTZV	#IRP$V_FCODE,#IRP$S_FCODE,IRP$W_FUNC(R3),R0 ;GET FUNCTION CODE

            50         20 A3         00A7       

            0C            50     91  00AA   176 	CMPB	R0,#IO$_READPBLK	;READ PHYSICAL BLOCK?

                          08     13  00AD   177 	BEQL	5$			;IF EQL YES

         5A A5            03     E2  00AF   178 	BBSS	#UCB$V_DX_WRITE,UCB$W_DEVSTS(R5),3$ ;SET WRITE FLAG

                          00         00B3       

                                     00B4   179 3$:					;

                          00DC   30  00B4   180 	BSBW	MOVFRUSER		;GET INITIAL SECTOR FULL OF DATA

                                     00B7   181 5$:					;

         70 A5         71 A5     90  00B7   182 	MOVB	UCB$B_ERTMAX(R5),UCB$B_ERTCNT(R5) ;INITIALIZE ERROR RETRY COUNT

         20 A3            0F     E1  00BC   183 	BBC	#IO$V_INHRETRY,IRP$W_FUNC(R3),10$ ;IF BIT CLEAR, PERFORM NORMAL RETRIES

                          03         00C0       

                       70 A5     94  00C1   184 	CLRB	UCB$B_ERTCNT(R5)	;INHIBIT RETRIES ON ERROR

                                     00C4   185 10$:					;

                          73     10  00C4   186 	BSBB	TRKSEC			;COMPUTE MEDIA ADDRESS

         3E A5         02 A2     91  00C6   187 	CMPB	2(R2),UCB$W_CYLINDERS(R5) ;LEGAL DISK ADDRESS?

                          39     1E  00CB   188 	BGEQU	62$			;IF GEQU NO

         58 A5       00E8 8F     AA  00CD   189 	BICW	#UCB$M_CANCEL!-		;CLEAR CANCEL I/O,

                                     00D3   190 	UCB$M_INTTYPE!-			;INTERRUPT TYPE

                                     00D3   191 	UCB$M_POWER!-			;POWERFAIL,AND

                                     00D3   192 	UCB$M_TIMOUT,UCB$W_STS(R5)	;TIMEOUT STATUS BITS

                                     00D3   193 20$:					;

                          53     D6  00D3   194 	INCL	R3			;FLAG READY FOR TRANSFER

                          9E     16  00D5   195 	JSB	@(SP)+			;SEEK/TRANSFER ONE BYTE OF DATA

                          53     D4  00D7   196 	CLRL	R3			;ASSUME TRANSFERRED LAST BYTE

                     009C C5     D6  00D9   197 	INCL	UCB$L_DX_BFPNT(R5)	;INCREMENT BUFFER POINTER

                     00A6 C5     97  00DD   198 	DECB	UCB$B_DX_SCTCNT(R5)	;DECREMENT SECTOR COUNT

                          F0     12  00E1   199 	BNEQ	20$			;IF NEQ TRANSFER ANOTHER BYTE

                          9E     16  00E3   200 	JSB	@(SP)+			;CALL THE CALLER

                          0087   30  00E5   201 	BSBW	XFER			;TRANSFER DATA TO/FROM USER

            31            50     E9  00E8   202 	BLBC	R0,IOSUCC		;IF LBC DONE

                                     00EB   203  

                                     00EB   204 ;

                                     00EB   205 ; COMPUTE NEXT MEDIA ADDRESS

                                     00EB   206 ;

                                     00EB   207  

                                     00EB   208 40$:					;

            50            02     D0  00EB   209 	MOVL	#2,R0			;SET LOOP COUNT

            53         4C A5     D0  00EE   210 	MOVL	UCB$L_IRP(R5),R3	;GET ADDRESS OF I/O PACKET

            52         34 A3     9E  00F2   211 	MOVAB	IRP$L_MEDIA(R3),R2	;POINT TO MEDIA LOGICAL ADDRESS

            51         3C A5     9E  00F6   212 	MOVAB	UCB$B_SECTORS(R5),R1	;POINT TO DISK DIMENSIONS

                                     00FA   213 50$:					;

                          62     96  00FA   214 	INCB	(R2)			;INCREMENT MEDIA ADDRESS

            81            62     91  00FC   215 	CMPB	(R2),(R1)+		;TEST AGAINST DISK SIZE

                          C3     1F  00FF   216 	BLSSU	10$			;IF LSSU HAVE NEXT MEDIA ADDRESS

                          82     94  0101   217 	CLRB	(R2)+			;RESET ADDRESS

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   6

01              START I/O OPERATION                                                                                              (1)



            F4            50     F4  0103   218 	SOBGEQ	R0,50$			;LOOP TO NEXT ADDRESS

                                     0106   219 62$:					;

                                     0106   220 	RPTERR	#SS$_IVADDR		;REPORT INVALID DISK ADDRESS

                                     010D   221  

                                     010D   222 ;+

                                     010D   223 ; DX$ERR - CONTINGENCY EXIT HANDLER

                                     010D   224 ;

                                     010D   225 ; THIS ROUTINE IS ENTERED WHENEVER THE DRIVER DETECTS A POWER-FAIL, DEVICE

                                     010D   226 ; TIMEOUT OR HARDWARE ERROR CONDITION.  IF THE ERROR WAS CAUSED BY DEVICE

                                     010D   227 ; TIMEOUT OR POWER FAIL, THE TRANSFER IS RESTARTED. IF THE ERROR IS NON-

                                     010D   228 ; FATAL, THE RETRY COUNT IS DECREMENTED AND THE TRANSFER IS REPEATED IF

                                     010D   229 ; THE RESULT IS NONZERO. ALL OTHER CONDITIONS RESULT IN REQUEST TERMINA-

                                     010D   230 ; TION WITH STATUS CONTAINED IN R0

                                     010D   231 ;

                                     010D   232 ; INPUTS:

                                     010D   233 ;

                                     010D   234 ;	R0 = ERROR STATUS CODE

                                     010D   235 ;	R3 = ERROR SEVERITY INDICATION

                                     010D   236 ;

                                     010D   237 ;	R5 = ADDRESS OF UCB

                                     010D   238 ;	(SP) = RETURN TO DRIVER RESTART CODE

                                     010D   239 ;

                                     010D   240 ; 	R3 LBC = FATAL ERROR

                                     010D   241 ;	R3 LBS = RETRIABLE ERROR

                                     010D   242 ;

                                     010D   243 ; OUTPUTS:

                                     010D   244 ;

                                     010D   245 ;	NONE

                                     010D   246 ;-

                                     010D   247  

                                     010D   248 DX$ERR::				;

            0F            53     E9  010D   249 	BLBC	R3,FUNCXT		;IF LBC, FATAL HARDWARE ERROR

         58 A5            05     E0  0110   250 	BBS	#UCB$V_POWER,UCB$W_STS(R5),10$ ;RETRY ON POWER FAIL

                          AF         0114       

                       70 A5     97  0115   251 	DECB	UCB$B_ERTCNT(R5)	;DECREMENT RETRY COUNT

                          AA     14  0118   252 	BGTR	10$			;IF GTR, TRY AGAIN

                          03     11  011A   253 	BRB	FUNCXT			;TERMINATE REQUEST

                                     011C   254  

                                     011C   255 	.DSABL	LSB

                                     011C   256  

                                     011C   257 ;

                                     011C   258 ; TERMINATE REQUEST SUCCESFULLY

                                     011C   259 ;

                                     011C   260  

                                     011C   261 IOSUCC:					;

            50            01     3C  011C   262 	MOVZWL	#SS$_NORMAL,R0		;SET SUCCESS

                                     011F   263  

                                     011F   264 ;

                                     011F   265 ; FUNCTION COMPLETION COMMON EXIT

                                     011F   266 ;

                                     011F   267  

                                     011F   268 FUNCXT:					;

                          8E     D6  011F   269 	INCL	(SP)+			;CLEAN THE STACK

                          03     BB  0121   270 	PUSHR	#^M<R0,R1>		;SAVE REGISTERS

                 00000000'GF     16  0123   271 	JSB	G^IOC$DIAGBUFILL	;FILL DIAGNOSTIC BUFFER IF PRESENT

         6E A5       00A4 C5     A3  0129   272 	SUBW3	UCB$W_DX_BCR(R5),UCB$W_BCNT(R5),2(SP) ;COMPUTE BYTES TRANSFERRED

                       02 AE         012F       

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   7

01              START I/O OPERATION                                                                                              (1)



                          03     BA  0131   273 	POPR	#^M<R0,R1>		;RESTORE REGISTERS

                                     0133   274 	REQCOM				;TERMINATE REQUEST

                                     0139   275  

                                     0139   276 ;+

                                     0139   277 ; TRKSEC - CONVERT LOGICAL TO PHYSICAL DISK ADDRESS

                                     0139   278 ;

                                     0139   279 ; THIS ROUTINE IS ENTERED VIA A 'BSB' TO CONVERT A LOGICAL DISK

                                     0139   280 ; ADDRESS TO A PHYSICAL ADDRESS. IF THE PHYSICAL I/O FLAG IS SET

                                     0139   281 ; IN THE I/O REQUEST PACKET, THE CONVERSION CONSISTS OF SIMPLY

                                     0139   282 ; MOVING THE LOGICAL TRACK, SECTOR AND CYLINDER ADDRESSES IN

                                     0139   283 ; THE PACKET MEDIA LONGWORD TO THE MEDIA ADDRESS LONGWORD IN

                                     0139   284 ; THE UCB. IF LOGICAL I/O IS BEING PERFORMED, THEN THE LOGICAL

                                     0139   285 ; ADDRESS IN THE I/O PACKET IS CONVERTED TO A PHYSICAL ADDRESS

                                     0139   286 ; BY APPLYING INTERLEAVE AND TRACK-TO-TRACK SKEW. THE RESULT IS

                                     0139   287 ; PLACED IN THE UCB MEDIA ADDRESS LONGWORD.

                                     0139   288 ;

                                     0139   289 ; INPUTS:

                                     0139   290 ;

                                     0139   291 ;

                                     0139   292 ;	R5 = ADDRESS OF UCB

                                     0139   293 ;

                                     0139   294 ; OUTPUTS:

                                     0139   295 ;

                                     0139   296 ;	R2 = POINTER TO PHYSICAL MEDIA ADDRESS

                                     0139   297 ;

                                     0139   298 ;	UCB$L_MEDIA CONTAINS THE PHYSICAL MEDIA ADDRESS

                                     0139   299 ;

                                     0139   300 ; 

                                     0139   301 ;-

                                     0139   302  

                                     0139   303 TRKSEC:					;

            53         4C A5     D0  0139   304 	MOVL	UCB$L_IRP(R5),R3	;GET ADDRESS OF REQUEST PACKET

            52       008C C5     9E  013D   305 	MOVAB	UCB$L_MEDIA(R5),R2	;POINT TO PHYSICAL MEDIA ADDRESS

            62         34 A3     D0  0142   306 	MOVL	IRP$L_MEDIA(R3),(R2)	;COPY LOGICAL ADDRESS

         2A A3            08     E0  0146   307 	BBS	#IRP$V_PHYSIO,IRP$W_STS(R3),10$ ;BYPASS CONVERSION IF PHYSICAL I/O

                          23         014A       

            51            62     9A  014B   308 	MOVZBL	(R2),R1			;GET CURRENT LOGICAL SECTOR

            51            0C     91  014E   309 	CMPB	#12,R1			;SET C IF 12 < SECTOR <= 26

            51            51     D8  0151   310 	ADWC	R1,R1			;DOUBLE SECTOR NUMBER, ADD INTERLEAVE FACTOR

            50         02 A2     9A  0154   311 	MOVZBL	2(R2),R0		;GET CYLINDER NUMBER

            50            06     7A  0158   312 	EMUL	#6,R0,R1,R0		;COMPUTE SKEW (6 * CYL + SECT)

            50            51         015B       

            7E         3C A5     9A  015D   313 	MOVZBL	UCB$B_SECTORS(R5),-(SP) ;GET SECTORS/TRACK

            50            8E     7B  0161   314 	EDIV	(SP)+,R0,R0,R1		;MODULO SECTOR INTO SECTORS PER TRACK

            51            50         0164       

                          51     D6  0166   315 	INCL	R1			;OFFSET SECTOR NUMBER BY 1

            62            51     90  0168   316 	MOVB	R1,(R2)			;SAVE SECTOR NUMBER

                       02 A2     96  016B   317 	INCB	2(R2)			;INCREMENT PAST UNUSED CYLINDER

                                     016E   318 10$:					;

                                 05  016E   319 	RSB				;

                                     016F   320  

                                     016F   321 ;+

                                     016F   322 ; XFER - TRANSFER DATA TO OR FROM USER

                                     016F   323 ;

                                     016F   324 ; THIS ROUTINE IS ENTERED VIA A BSB TO TRANSFER ONE SECTOR'S WORTH OF DATA

                                     016F   325 ; TO OR FROM THE USER'S PROCESS.

                                     016F   326 ;

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   8

01              START I/O OPERATION                                                                                              (1)



                                     016F   327 ; INPUTS:

                                     016F   328 ;

                                     016F   329 ;	R5 = ADDRESS OF UCB

                                     016F   330 ;	UCB$W_DX_BCR = BYTES LEFT TO TRANSFER

                                     016F   331 ;

                                     016F   332 ; OUTPUTS:

                                     016F   333 ;

                                     016F   334 ;	R0 LSB SET = MORE DATA TO TRANSFER

                                     016F   335 ;	UCB$W_DX_BCR = COUNT OF BYTES REMAINING

                                     016F   336 ;	R0 LSB CLEAR = NO MORE DATA TO TRANSFER

                                     016F   337 ;

                                     016F   338 ;-

                                     016F   339  

                                     016F   340 	.ENABL	LSB

                                     016F   341  

                                     016F   342 XFER:					;

                          7E     D4  016F   343 	CLRL	-(SP)			;ASSUME REQUEST COMPLETE

                          42     10  0171   344 	BSBB	SETBUF			;SETUP TRANSFER PARAMETERS

       00A4 C5            52     A2  0173   345 	SUBW	R2,UCB$W_DX_BCR(R5)	;UPDATE BYTE COUNT

         5A A5            03     E1  0178   346 	BBC	#UCB$V_DX_WRITE,UCB$W_DEVSTS(R5),10$ ;BRANCH IF READ REQUEST

                          08         017C       

                          10     13  017D   347 	BEQL	30$			;IF EQL DONE

                          34     10  017F   348 	BSBB	SETBUF			;GET MORE DATA FROM USER

                          10     10  0181   349 	BSBB	MOVFRUSER		;...

                          08     11  0183   350 	BRB	20$			;EXIT SUCCESSFULLY

                                     0185   351 10$:					;

                          14     10  0185   352 	BSBB	MOVTOUSER		;MOVE DATA TO USER

                     00A4 C5     B5  0187   353 	TSTW	UCB$W_DX_BCR(R5)	;TRANSFER COMPLETE NOW?

                          02     13  018B   354 	BEQL	30$			;IF EQL YES

                                     018D   355 20$:					;

                          6E     D6  018D   356 	INCL	(SP)			;SET SUCCESS

                                     018F   357 30$:					;

            50            8E     D0  018F   358 	MOVL	(SP)+,R0		;SET SUCCESS

                                 05  0192   359 	RSB				;

                                     0193   360  

                                     0193   361 	.DSABL	LSB

                                     0193   362  

                                     0193   363 ;+

                                     0193   364 ; MOVFRUSER - MOVE DATA FROM USER TO FLOPPY BUFFER

                                     0193   365 ;

                                     0193   366 ; INPUTS:

                                     0193   367 ;

                                     0193   368 ;	R1 = ADDRESS OF FLOPPY BUFFER

                                     0193   369 ;	R2 = BYTE COUNT

                                     0193   370 ;	R5 = ADDRESS OF UCB

                                     0193   371 ;

                                     0193   372 ; OUTPUTS:

                                     0193   373 ;

                                     0193   374 ;	THE CONTENTS OF THE INTERNAL BUFFER ARE COPIED FROM THE USER'S

                                     0193   375 ;	ADDRESS SPACE.

                                     0193   376 ;

                                     0193   377 ;-

                                     0193   378  

                                     0193   379 	.ENABL	LSB

                                     0193   380  

                                     0193   381 MOVFRUSER:				;

            54            52     D0  0193   382 	MOVL	R2,R4			;SAVE BYTE COUNT

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page   9

01              START I/O OPERATION                                                                                              (1)



                          FE67'  30  0196   383 	BSBW	IOC$MOVFRUSER		;MOVE DATA

                          09     11  0199   384 	BRB	10$			;UPDATE BUFFER ADDRESS

                                     019B   385  

                                     019B   386 ;+

                                     019B   387 ; MOVTOUSER - MOVE CONTENTS OF FLOPPY INTERNAL BUFFER TO USER

                                     019B   388 ;

                                     019B   389 ; THIS ROUTINE IS CALLED TO TRANSFER THE CONTENTS OF THE FLOPPY DATA

                                     019B   390 ; BUFFER TO THE USER'S ADDRESS SPACE.

                                     019B   391 ;

                                     019B   392 ; INPUTS:

                                     019B   393 ;

                                     019B   394 ;	R1 = ADDRESS OF FLOPPY BUFFER

                                     019B   395 ;	R2 = BYTE COUNT

                                     019B   396 ;	R5 = ADDRESS OF UCB

                                     019B   397 ;

                                     019B   398 ; OUTPUTS:

                                     019B   399 ;

                                     019B   400 ;	THE FLOPPY BUFFER CONTENTS ARE COPIED TO THE USER'S ADDRESS SPACE

                                     019B   401 ;

                                     019B   402 ;-

                                     019B   403  

                                     019B   404 MOVTOUSER:				;

            54            52     D0  019B   405 	MOVL	R2,R4			;SAVE BYTE COUNT

                 00000000'GF     16  019E   406 	JSB	G^IOC$MOVTOUSER		;MOVE DATA TO USER'S BUFFER

                                     01A4   407 10$:					;

         6C A5            54     A0  01A4   408 	ADDW	R4,UCB$W_BOFF(R5)	;UPDATE PAGE OFFSET

         6C A5       FE00 8F     AA  01A8   409 	BICW	#^C<^X01FF>,UCB$W_BOFF(R5) ;MAKE MODULO PAGE SIZE

                          04     12  01AE   410 	BNEQ	20$			;IF NEQ PAGE BOUNDARY NOT CROSSED

         68 A5            04     C0  01B0   411 	ADDL	#4,UCB$L_SVAPTE(R5)	;UPDATE ADDRESS OF USER PTE

                                     01B4   412 20$:					;

                                 05  01B4   413 	RSB				;

                                     01B5   414  

                                     01B5   415 	.DSABL	LSB

                                     01B5   416  

                                     01B5   417 ;+

                                     01B5   418 ; SETBUF - SETUP PARAMETERS FOR TRANSFER TO OR FROM USER'S BUFFER

                                     01B5   419 ;

                                     01B5   420 ; THIS ROUTINE IS ENTERED VIA A BSB TO INITIALIZE ALL PARAMETERS REQUIRED

                                     01B5   421 ; TO TRANSFER ONE SECTOR OF DATA TO OR FROM THE USER'S PROCESS.

                                     01B5   422 ;

                                     01B5   423 ; INPUTS:

                                     01B5   424 ;

                                     01B5   425 ;	R5 = ADDRESS OF UCB

                                     01B5   426 ;

                                     01B5   427 ; OUTPUTS:

                                     01B5   428 ;

                                     01B5   429 ;	R1 = ADDRESS OF SECTOR BUFFER

                                     01B5   430 ;	R2 = NUMBER OF BYTES TO TRANSFER TO OR FROM USER

                                     01B5   431 ;	UCB$B_SECTCNT = 128

                                     01B5   432 ;	UCB$L_DXBFPNT = ADDRESS OF SECTOR BUFFER

                                     01B5   433 ;-

                                     01B5   434  

                                     01B5   435 SETBUF:					;

            50       00A4 C5     3C  01B5   436 	MOVZWL	UCB$W_DX_BCR(R5),R0	;GET COUNT OF BYTES REMAINING

            52         80 8F     9A  01BA   437 	MOVZBL	#128,R2			;ASSUME FULL SECTOR TO TRANSFER

       00A6 C5            52     90  01BE   438 	MOVB	R2,UCB$B_DX_SCTCNT(R5)	;RESET SECTOR COUNT

            51       0098 C5     D0  01C3   439 	MOVL	UCB$L_DX_BUF(R5),R1	;GET BUFFER ADDRESS

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  10

01              START I/O OPERATION                                                                                              (1)



       009C C5            51     D0  01C8   440 	MOVL	R1,UCB$L_DX_BFPNT(R5)	;SET ADDRESS

            50            52     B1  01CD   441 	CMPW	R2,R0			;SECTOR EXCEED BYTES LEFT

                          03     1F  01D0   442 	BLSSU	10$			;IF LSSU NO

            52            50     D0  01D2   443 	MOVL	R0,R2			;SET COUNT TO SMALLER AMOUNT

                                     01D5   444 10$:					;

                                 05  01D5   445 	RSB				;

                                     01D6   446 	.END

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



ACP$ACCESS       ********   X   03   EMB$C_BE       = 00000004            EMB$W_DV_BOFF    00000022            

ACP$DEACCESS     ********   X   03   EMB$C_CR       = 00000025            EMB$W_DV_DEVSTS  0000001A            

ACP$MODIFY       ********   X   03   EMB$C_CS       = 00000020            EMB$W_DV_ENTRY   00000004            

ACP$MOUNT        ********   X   03   EMB$C_DE       = 00000001            EMB$W_DV_ERRCNT  0000002C            

ACP$READBLK      ********   X   03   EMB$C_DT       = 00000060            EMB$W_DV_ERRSEQ  0000000E            

ACP$WRITEBLK     ********   X   03   EMB$C_HE       = 00000008            EMB$W_DV_FUNC    0000003C            

ADP$B_NUMBER     0000000B            EMB$C_LENGTH     00000004            EMB$W_DV_UNIT    0000002A            

ADP$B_TYPE       0000000A            EMB$C_MC       = 00000002            EMB$W_HD_ENTRY   00000004            

ADP$C_MBAADPLEN  00000014            EMB$C_NF       = 00000023            EMB$W_HD_ERRSEQ  0000000E            

ADP$C_NUMDATAP = 00000010            EMB$C_NM       = 0000002A            EMB$W_SIZE       00000000            

ADP$C_UBAADPLEN  00000070            EMB$C_OM       = 00000029            EMB$W_TS_ENTRY   00000004            

ADP$K_MBAADPLEN  00000014            EMB$C_SA       = 00000005            EMB$W_TS_ERRSEQ  0000000E            

ADP$K_UBAADPLEN  00000070            EMB$C_SBC      = 00000028            EXE$SENSEMODE    ********   X   03   

ADP$L_CRB        00000010            EMB$C_SE       = 00000006            EXE$SETCHAR      ********   X   03   

ADP$L_CSR        00000000            EMB$C_SS       = 00000027            FUNCXT           0000011F R     03   

ADP$L_DPQBL      00000018            EMB$C_TS       = 00000026            GBL...         = 00000000            

ADP$L_DPQFL      00000014            EMB$C_TS_LENGTH  00000010            IDB$B_TYPE       0000000A            

ADP$L_INTD       00000064            EMB$C_UBC      = 00000070            IDB$B_UNITS      0000000B            

ADP$L_LINK       00000004            EMB$C_UI       = 00000061            IDB$C_LENGTH     00000030            

ADP$L_MRQBL      00000020            EMB$C_VD       = 00000041            IDB$K_LENGTH     00000030            

ADP$L_MRQFL      0000001C            EMB$C_VM       = 00000040            IDB$L_ADP        0000000C            

ADP$L_VECTOR     00000010            EMB$C_WS       = 00000024            IDB$L_CSR        00000000            

ADP$W_ADPTYPE    0000000E            EMB$K_AW       = 00000007            IDB$L_OWNER      00000004            

ADP$W_DPBITMAP   00000024            EMB$K_BE       = 00000004            IDB$L_UCBLST     00000010            

ADP$W_MRBITMAP   00000026            EMB$K_CR       = 00000025            IDB$W_SIZE       00000008            

ADP$W_SIZE       00000008            EMB$K_CS       = 00000020            IO$M_ABORT     = 00000100            

ADP$W_TR         0000000C            EMB$K_DE       = 00000001            IO$M_ACCESS    = 00000040            

BIT...         = 00000008            EMB$K_DT       = 00000060            IO$M_ATTNAST   = 00000100            

CRB$B_MASK       0000000E            EMB$K_HE       = 00000008            IO$M_BINARY    = 00000040            

CRB$B_TT_ATTN    00000004            EMB$K_LENGTH     00000004            IO$M_CANCTRLO  = 00000040            

CRB$B_TT_EXPEC   00000005            EMB$K_MC       = 00000002            IO$M_COMMOD    = 00000040            

CRB$B_TYPE       0000000A            EMB$K_NF       = 00000023            IO$M_CREATE    = 00000080            

CRB$C_LENGTH     00000038            EMB$K_NM       = 0000002A            IO$M_CTRLCAST  = 00000100            

CRB$K_LENGTH     00000038            EMB$K_OM       = 00000029            IO$M_CTRLYAST  = 00000080            

CRB$L_INTD       00000014            EMB$K_SA       = 00000005            IO$M_CVTLOW    = 00000100            

CRB$L_INTD2      00000038            EMB$K_SBC      = 00000028            IO$M_DATACHECK = 00004000            

CRB$L_LINK       00000010            EMB$K_SE       = 00000006            IO$M_DELETE    = 00000100            

CRB$L_TT_DIAL    00000000            EMB$K_SS       = 00000027            IO$M_DMOUNT    = 00000400            

CRB$L_WQBL       00000004            EMB$K_TS       = 00000026            IO$M_DSABLMBX  = 00000400            

CRB$L_WQFL       00000000            EMB$K_TS_LENGTH  00000010            IO$M_ENABLMBX  = 00000080            

CRB$M_BSY      = 00000001            EMB$K_UBC      = 00000070            IO$M_FCODE     = 0000003F            

CRB$V_BSY      = 00000000            EMB$K_UI       = 00000061            IO$M_HANGUP    = 00000200            

CRB$W_REFC       0000000C            EMB$K_VD       = 00000041            IO$M_INHERLOG  = 00000800            

CRB$W_SIZE       00000008            EMB$K_VM       = 00000040            IO$M_INHEXTGAP = 00001000            

DX$ERR           0000010D RG    03   EMB$K_WS       = 00000024            IO$M_INHRETRY  = 00008000            

DX$FUNCTABLE     00000000 RG    03   EMB$L_DV_CHAR    00000036            IO$M_INHSEEK   = 00001000            

DX$STARTIO       00000070 RG    03   EMB$L_DV_MEDIA   00000026            IO$M_INTERRUPT = 00000040            

EMB$B_BUFIND     00000002            EMB$L_DV_OPCNT   0000002E            IO$M_INTSKIP   = 00000100            

EMB$B_DEVCLS     00000005            EMB$L_DV_OWNUIC  00000032            IO$M_MOUNT     = 00000200            

EMB$B_DEVTYP     00000004            EMB$L_DV_REGSAV  0000004E            IO$M_NOECHO    = 00000040            

EMB$B_DV_CLASS   0000001C            EMB$L_DV_RQPID   0000001E            IO$M_NOFILTR   = 00000200            

EMB$B_DV_ERTCNT  00000010            EMB$Q_DV_IOSB    00000012            IO$M_NOFORMAT  = 00000100            

EMB$B_DV_ERTMAX  00000011            EMB$Q_DV_TIME    00000006            IO$M_NOW       = 00000040            

EMB$B_DV_SLAVE   0000003A            EMB$Q_HD_TIME    00000006            IO$M_NOWAIT    = 00000080            

EMB$B_DV_TYPE    0000001D            EMB$Q_TS_TIME    00000006            IO$M_PACKED    = 00000080            

EMB$B_VALID      00000003            EMB$T_DV_NAME    0000003E            IO$M_PURGE     = 00000800            

EMB$C_AW       = 00000007            EMB$W_DV_BCNT    00000024            IO$M_READATTN  = 00000080            

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



IO$M_REVERSE   = 00000040            IO$_MOUNT      = 00000039            IRP$L_IOST1      00000034            

IO$M_SHUTDOWN  = 00000080            IO$_NOP        = 00000000            IRP$L_IOST2      00000038            

IO$M_STARTUP   = 00000040            IO$_OFFSET     = 00000006            IRP$L_MEDIA      00000034            

IO$M_SYNCH     = 00000200            IO$_PACKACK    = 00000008            IRP$L_PID        0000000C            

IO$M_TIMED     = 00000080            IO$_PHYSICAL   = 0000001F            IRP$L_SEGVBN     00000040            

IO$M_TRMNOECHO = 00001000            IO$_READHEAD   = 0000000E            IRP$L_SEQNUM     00000048            

IO$M_WRTATTN   = 00000100            IO$_READLBLK   = 00000021            IRP$L_SVAPTE     0000002C            

IO$S_FCODE     = 00000006            IO$_READPBLK   = 0000000C            IRP$L_TT_TERM    00000038            

IO$V_ABORT     = 00000008            IO$_READPRESET = 00000019            IRP$L_UCB        0000001C            

IO$V_ACCESS    = 00000006            IO$_READPROMPT = 00000037            IRP$L_WIND       00000018            

IO$V_ATTNAST   = 00000008            IO$_READTRACKD = 00000010            IRP$M_BUFIO    = 00000001            

IO$V_BINARY    = 00000006            IO$_READVBLK   = 00000031            IRP$M_CHAINED  = 00000020            

IO$V_CANCTRLO  = 00000006            IO$_RECAL      = 00000003            IRP$M_COMPLX   = 00000008            

IO$V_COMMOD    = 00000006            IO$_RELEASE    = 00000005            IRP$M_DIAGBUF  = 00000080            

IO$V_CREATE    = 00000007            IO$_RETCENTER  = 00000007            IRP$M_FUNC     = 00000002            

IO$V_CTRLCAST  = 00000008            IO$_REWIND     = 00000024            IRP$M_MBXIO    = 00000400            

IO$V_CTRLYAST  = 00000007            IO$_REWINDOFF  = 00000022            IRP$M_PAGIO    = 00000004            

IO$V_CVTLOW    = 00000008            IO$_SEARCH     = 00000009            IRP$M_PHYSIO   = 00000100            

IO$V_DATACHECK = 0000000E            IO$_SEEK       = 00000002            IRP$M_PRIVIO   = 00000200            

IO$V_DELETE    = 00000008            IO$_SENSECHAR  = 0000001B            IRP$M_SWAPIO   = 00000040            

IO$V_DMOUNT    = 0000000A            IO$_SENSEMODE  = 00000027            IRP$M_VIRTUAL  = 00000010            

IO$V_DSABLMBX  = 0000000A            IO$_SETCHAR    = 0000001A            IRP$Q_NT_PRVMSK  0000003C            

IO$V_ENABLMBX  = 00000007            IO$_SETMODE    = 00000023            IRP$S_FCODE    = 00000006            

IO$V_FCODE     = 00000000            IO$_SKIPFILE   = 00000025            IRP$S_FMOD     = 0000000A            

IO$V_HANGUP    = 00000009            IO$_SKIPRECORD = 00000026            IRP$S_MODE     = 00000002            

IO$V_INHERLOG  = 0000000B            IO$_SPACEFILE  = 00000002            IRP$V_BUFIO    = 00000000            

IO$V_INHEXTGAP = 0000000C            IO$_SPACERECORD= 00000009            IRP$V_CHAINED  = 00000005            

IO$V_INHRETRY  = 0000000F            IO$_STARTSPNDL = 00000019            IRP$V_COMPLX   = 00000003            

IO$V_INHSEEK   = 0000000C            IO$_UNLOAD     = 00000001            IRP$V_DIAGBUF  = 00000007            

IO$V_INTERRUPT = 00000006            IO$_VIRTUAL    = 0000003F            IRP$V_FCODE    = 00000000            

IO$V_INTSKIP   = 00000008            IO$_WRITECHECK = 0000000A            IRP$V_FMOD     = 00000006            

IO$V_MOUNT     = 00000009            IO$_WRITECHECKH= 00000018            IRP$V_FUNC     = 00000001            

IO$V_NOECHO    = 00000006            IO$_WRITEHEAD  = 0000000D            IRP$V_MBXIO    = 0000000A            

IO$V_NOFILTR   = 00000009            IO$_WRITELBLK  = 00000020            IRP$V_MODE     = 00000000            

IO$V_NOFORMAT  = 00000008            IO$_WRITEMARK  = 0000001C            IRP$V_PAGIO    = 00000002            

IO$V_NOW       = 00000006            IO$_WRITEOF    = 00000028            IRP$V_PHYSIO   = 00000008            

IO$V_NOWAIT    = 00000007            IO$_WRITEPBLK  = 0000000B            IRP$V_PRIVIO   = 00000009            

IO$V_PACKED    = 00000007            IO$_WRITETRACKD= 0000000F            IRP$V_SWAPIO   = 00000006            

IO$V_PURGE     = 0000000B            IO$_WRITEVBLK  = 00000030            IRP$V_VIRTUAL  = 00000004            

IO$V_READATTN  = 00000007            IOC$DIAGBUFILL   ********   X   03   IRP$W_ABCNT      0000003C            

IO$V_REVERSE   = 00000006            IOC$MOVFRUSER    ********   X   03   IRP$W_BCNT       00000032            

IO$V_SHUTDOWN  = 00000007            IOC$MOVTOUSER    ********   X   03   IRP$W_BOFF       00000030            

IO$V_STARTUP   = 00000006            IOC$REQCOM       ********   X   03   IRP$W_CHAN       00000028            

IO$V_SYNCH     = 00000009            IOSUCC           0000011C R     03   IRP$W_FUNC       00000020            

IO$V_TIMED     = 00000007            IRP$B_CARCON     00000038            IRP$W_OBCNT      0000003E            

IO$V_TRMNOECHO = 0000000C            IRP$B_EFN        00000022            IRP$W_SIZE       00000008            

IO$V_WRTATTN   = 00000008            IRP$B_PRI        00000023            IRP$W_STS        0000002A            

IO$_ACCESS     = 00000032            IRP$B_RMOD       0000000B            IRP$W_TT_PRMPT   0000003C            

IO$_ACPCONTROL = 00000038            IRP$B_TYPE       0000000A            MASKH          = 00000008            

IO$_CREATE     = 00000033            IRP$C_LENGTH     0000004C            MASKL          = 04000000            

IO$_DEACCESS   = 00000034            IRP$K_LENGTH     0000004C            MOVFRUSER        00000193 R     03   

IO$_DELETE     = 00000035            IRP$L_AST        00000010            MOVTOUSER        0000019B R     03   

IO$_DIAGNOSE   = 0000001D            IRP$L_ASTPRM     00000014            PR$_ACCR       = 00000029            

IO$_DRVCLR     = 00000004            IRP$L_DIAGBUF    00000044            PR$_ACCS       = 00000028            

IO$_ERASETAPE  = 00000006            IRP$L_IOQBL      00000004            PR$_ASTLVL     = 00000013            

IO$_LOGICAL    = 0000002F            IRP$L_IOQFL      00000000            PR$_ESP        = 00000001            

IO$_MODIFY     = 00000036            IRP$L_IOSB       00000024            PR$_ICCS       = 00000018            

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



PR$_ICR        = 0000001A            SS$_BUFFEROVF  = 00000601            SS$_GSDFULL    = 000000CC            

PR$_IPL        = 00000012            SS$_BUGCHECK   = 000002A4            SS$_HANGUP     = 000002CC            

PR$_ISP        = 00000004            SS$_CANCEL     = 00000830            SS$_HEADERFULL = 000008C8            

PR$_KSP        = 00000000            SS$_CHANINTLK  = 0000004C            SS$_IDXFILEFULL= 000008D0            

PR$_MAPEN      = 00000038            SS$_CLIFRCEXT  = 00000980            SS$_ILLBLKNUM  = 000000DC            

PR$_NICR       = 00000019            SS$_CMODSUPR   = 0000041C            SS$_ILLCNTRFUNC= 000000E4            

PR$_P0BR       = 00000008            SS$_CMODUSER   = 00000424            SS$_ILLEFC     = 000000EC            

PR$_P0LR       = 00000009            SS$_COMPAT     = 0000042C            SS$_ILLIOFUNC  = 000000F4            

PR$_P1BR       = 0000000A            SS$_CONTINUE   = 00000001            SS$_ILLLBLAST  = 00000968            

PR$_P1LR       = 0000000B            SS$_CONTROLC   = 00000651            SS$_ILLPAGCNT  = 000000FC            

PR$_PCBB       = 00000010            SS$_CONTROLO   = 00000609            SS$_ILLSEQOP   = 000002DC            

PR$_PME        = 0000003D            SS$_CONTROLY   = 00000611            SS$_ILLSER     = 00000104            

PR$_RXCS       = 00000020            SS$_CREATED    = 00000619            SS$_ILLUSRLBLRD= 00000958            

PR$_RXDB       = 00000021            SS$_CTRLERR    = 00000054            SS$_ILLUSRLBLWT= 00000960            

PR$_SBIER      = 00000034            SS$_DATACHECK  = 0000005C            SS$_INCVOLLABEL= 0000010C            

PR$_SBIFS      = 00000030            SS$_DATAOVERUN = 00000838            SS$_INSFARG    = 00000114            

PR$_SBIMT      = 00000033            SS$_DEBUG      = 0000046C            SS$_INSFMEM    = 00000124            

PR$_SBIQC      = 00000036            SS$_DECOVF     = 000004A4            SS$_INSFRAME   = 0000012C            

PR$_SBIS       = 00000031            SS$_DEVACTIVE  = 000002C4            SS$_INSFWSL    = 0000011C            

PR$_SBISC      = 00000032            SS$_DEVALLOC   = 00000840            SS$_INTDIV     = 00000484            

PR$_SBITA      = 00000035            SS$_DEVALRALLOC= 00000641            SS$_INTOVF     = 0000047C            

PR$_SBR        = 0000000C            SS$_DEVASSIGN  = 00000848            SS$_IVADDR     = 00000134            

PR$_SCBB       = 00000011            SS$_DEVFOREIGN = 00000064            SS$_IVCHAN     = 0000013C            

PR$_SID        = 0000003E            SS$_DEVICEFULL = 00000850            SS$_IVCHNLSEC  = 0000026C            

PR$_SIRR       = 00000014            SS$_DEVMOUNT   = 0000006C            SS$_IVDEVNAM   = 00000144            

PR$_SISR       = 00000015            SS$_DEVNOTALLOC= 00000858            SS$_IVGSDNAM   = 0000014C            

PR$_SLR        = 0000000D            SS$_DEVNOTMBX  = 00000074            SS$_IVLOGNAM   = 00000154            

PR$_SSP        = 00000002            SS$_DEVNOTMOUNT= 0000007C            SS$_IVLOGTAB   = 0000015C            

PR$_TBIA       = 00000039            SS$_DEVOFFLINE = 00000084            SS$_IVPROTECT  = 000002F4            

PR$_TBIS       = 0000003A            SS$_DIRFULL    = 00000860            SS$_IVQUOTAL   = 00000164            

PR$_TODR       = 0000001B            SS$_DRVERR     = 0000008C            SS$_IVSECFLG   = 0000016C            

PR$_TXCS       = 00000022            SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            

PR$_TXDB       = 00000023            SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            

PR$_USP        = 00000003            SS$_ENDOFFILE  = 00000870            SS$_IVSTSFLG   = 0000017C            

PR$_WCSA       = 0000002C            SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            

PR$_WCSD       = 0000002D            SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            

SETBUF           000001B5 R     03   SS$_EXQUOTA    = 0000001C            SS$_LENVIO     = 0000018C            

SS$_ABORT      = 0000002C            SS$_EXTIDXFILE = 00000880            SS$_LKWSETFUL  = 00000194            

SS$_ACCONFLICT = 00000800            SS$_FCPREADERR = 00000888            SS$_MBFULL     = 000008D8            

SS$_ACCVIO     = 0000000C            SS$_FCPREPSTN  = 00000988            SS$_MBTOOSML   = 0000019C            

SS$_ACPVAFUL   = 000002FC            SS$_FCPREWNDERR= 00000890            SS$_MCHECK     = 000002BC            

SS$_ARTRES     = 00000474            SS$_FCPSPACERR = 00000898            SS$_MEDOFL     = 000001A4            

SS$_ASTFLT     = 0000040C            SS$_FCPWRITERR = 000008A0            SS$_MSGNOTFND  = 00000621            

SS$_BADATTRIB  = 00000034            SS$_FILACCERR  = 0000009C            SS$_MTLBLLONG  = 00000304            

SS$_BADCHKSUM  = 00000808            SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            

SS$_BADESCAPE  = 0000003C            SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            

SS$_BADFILEHDR = 00000810            SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            

SS$_BADFILENAME= 00000818            SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            

SS$_BADFILEVER = 00000820            SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            

SS$_BADIMGHDR  = 00000044            SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            

SS$_BADIRECTORY= 00000828            SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            

SS$_BADPARAM   = 00000014            SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            

SS$_BADSTACK   = 000002B4            SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            

SS$_BEGOFFILE  = 00000938            SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            

SS$_BLOCKCNTERR= 00000940            SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            

SS$_BREAK      = 00000414            SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            

SS$_BUFBYTALI  = 0000030C            SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  14

SYMBOL TABLE                                                                                                                     (1)



SS$_NOPRIV     = 00000024            UBA$L_CR         00000004            UBA$S_MAP_ADDR = 00000015            

SS$_NORMAL     = 00000001            UBA$L_CSR        00000000            UBA$S_MAP_DPD  = 00000004            

SS$_NOSIGNAL   = 00000900            UBA$L_DCR        0000000C            UBA$S_SR_BRRVF = 00000004            

SS$_NOSOLICIT  = 00000284            UBA$L_DPR        00000040            UBA$V_BRRVR_AIR= 0000001F            

SS$_NOSUCHDEV  = 00000908            UBA$L_FMER       00000010            UBA$V_BRRVR_IVA= 00000000            

SS$_NOSUCHFILE = 00000910            UBA$L_FUBAR      00000014            UBA$V_CR_ARLVL = 00000007            

SS$_NOSUCHNODE = 0000028C            UBA$L_MAP        00000800            UBA$V_CR_BRIE  = 00000005            

SS$_NOSUCHSEC  = 00000978            UBA$L_SR         00000008            UBA$V_CR_CNFIE = 00000002            

SS$_NOTAPEOP   = 00000264            UBA$M_BRRVR_AIR= 80000000            UBA$V_CR_IFSIE = 00000006            

SS$_NOTFILEDEV = 000001CC            UBA$M_CR_ARLVL = 00000180            UBA$V_CR_INIT  = 00000000            

SS$_NOTINTBLSZ = 000001D4            UBA$M_CR_BRIE  = 00000020            UBA$V_CR_MRDSB = 0000001A            

SS$_NOTLABELMT = 000001DC            UBA$M_CR_CNFIE = 00000004            UBA$V_CR_SUEFIE= 00000003            

SS$_NOTMODIFIED= 00000659            UBA$M_CR_IFSIE = 00000040            UBA$V_CR_UBPF  = 00000001            

SS$_NOTNETDEV  = 000002EC            UBA$M_CR_INIT  = 00000001            UBA$V_CR_USEFIE= 00000004            

SS$_NOTRAN     = 00000629            UBA$M_CR_SUEFIE= 00000008            UBA$V_CSR_ADCOD= 00000000            

SS$_NOTSQDEV   = 000001E4            UBA$M_CR_UBPF  = 00000002            UBA$V_CSR_IS   = 0000001C            

SS$_OPCCUS     = 00000434            UBA$M_CR_USEFIE= 00000010            UBA$V_CSR_MT   = 0000001B            

SS$_OPCDEC     = 0000043C            UBA$M_CSR_IS   = 10000000            UBA$V_CSR_OT   = 00000015            

SS$_OPINCOMPL  = 000002D4            UBA$M_CSR_MT   = 08000000            UBA$V_CSR_PD   = 00000017            

SS$_PAGOWNVIO  = 000001EC            UBA$M_CSR_OT   = 00200000            UBA$V_CSR_PE   = 0000001F            

SS$_PAGRDERR   = 00000444            UBA$M_CSR_PD   = 00800000            UBA$V_CSR_PU   = 00000016            

SS$_PARITY     = 000001F4            UBA$M_CSR_PE   = 80000000            UBA$V_CSR_UBIC = 00000010            

SS$_PARTESCAPE = 000001FC            UBA$M_CSR_PU   = 00400000            UBA$V_CSR_UBIIP= 00000012            

SS$_PFMBSY     = 00000204            UBA$M_CSR_UBIC = 00010000            UBA$V_CSR_UBPDN= 00000011            

SS$_PLHLDR     = 00000404            UBA$M_CSR_UBIIP= 00040000            UBA$V_CSR_URD  = 0000001D            

SS$_PSTFULL    = 0000020C            UBA$M_CSR_UBPDN= 00020000            UBA$V_CSR_WS   = 0000001E            

SS$_RADRMOD    = 0000044C            UBA$M_CSR_URD  = 20000000            UBA$V_CSR_XMFLT= 0000001A            

SS$_REJECT     = 00000294            UBA$M_CSR_WS   = 40000000            UBA$V_DPR_ADDR = 00000000            

SS$_REMOTE     = 00000649            UBA$M_CSR_XMFLT= 04000000            UBA$V_DPR_BNE  = 0000001F            

SS$_RESIGNAL   = 00000918            UBA$M_DPR_BNE  = 80000000            UBA$V_DPR_DPF  = 0000001D            

SS$_RESULTOVF  = 00000214            UBA$M_DPR_DPF  = 20000000            UBA$V_DPR_STATE= 00000010            

SS$_ROPRAND    = 00000454            UBA$M_DPR_XMTER= 40000000            UBA$V_DPR_XMTER= 0000001E            

SS$_SECTBLFUL  = 0000021C            UBA$M_MAP_BO   = 02000000            UBA$V_FMER_MRN = 00000000            

SS$_SSFAIL     = 0000045C            UBA$M_MAP_VALID= 80000000            UBA$V_FUBAR_ADR= 00000000            

SS$_SUBRNG     = 000004AC            UBA$M_SR_BRID  = 00000800            UBA$V_MAP_ADDR = 00000000            

SS$_SUPERSEDE  = 00000631            UBA$M_SR_BRSVF = 10000000            UBA$V_MAP_BO   = 00000019            

SS$_TAPEPOSLOST= 00000224            UBA$M_SR_CRD   = 00000100            UBA$V_MAP_DPD  = 00000015            

SS$_TBIT       = 00000464            UBA$M_SR_CXTER = 00000080            UBA$V_MAP_VALID= 0000001F            

SS$_TIMEOUT    = 0000022C            UBA$M_SR_CXTMO = 00000040            UBA$V_SR_BRID  = 0000000B            

SS$_TOOMANYVER = 00000990            UBA$M_SR_DPPE  = 00000020            UBA$V_SR_BRRVF = 00000018            

SS$_TOOMUCHDATA= 0000029C            UBA$M_SR_IVMR  = 00000010            UBA$V_SR_BRSVF = 0000001C            

SS$_UNASEFC    = 00000234            UBA$M_SR_LER   = 00000004            UBA$V_SR_CRD   = 00000008            

SS$_UNSAFE     = 0000023C            UBA$M_SR_MRPE  = 00000008            UBA$V_SR_CXTER = 00000007            

SS$_UNWIND     = 00000920            UBA$M_SR_RDS   = 00000200            UBA$V_SR_CXTMO = 00000006            

SS$_UNWINDING  = 00000928            UBA$M_SR_RDTO  = 00000400            UBA$V_SR_DPPE  = 00000005            

SS$_VASFULL    = 00000244            UBA$M_SR_RIE   = 20000000            UBA$V_SR_IVMR  = 00000004            

SS$_VECINUSE   = 0000024C            UBA$M_SR_SSYNC = 00000001            UBA$V_SR_LER   = 00000002            

SS$_VOLINV     = 00000254            UBA$M_SR_UBIFS = 40000000            UBA$V_SR_MRPE  = 00000003            

SS$_WAITUSRLBL = 00000950            UBA$M_SR_UBSTO = 00000002            UBA$V_SR_RDS   = 00000009            

SS$_WASCLR     = 00000001            UBA$S_BRRVR_IVA= 00000010            UBA$V_SR_RDTO  = 0000000A            

SS$_WASECC     = 00000639            UBA$S_CR_ARLVL = 00000002            UBA$V_SR_RIE   = 0000001D            

SS$_WASSET     = 00000009            UBA$S_CR_MRDSB = 00000005            UBA$V_SR_SSYNC = 00000000            

SS$_WRITLCK    = 0000025C            UBA$S_CSR_ADCOD= 00000008            UBA$V_SR_UBIFS = 0000001E            

SS$_WRONGACP   = 0000031C            UBA$S_DPR_ADDR = 00000010            UBA$V_SR_UBSTO = 00000001            

TRKSEC           00000139 R     03   UBA$S_DPR_STATE= 00000008            UCB$B_AMOD       00000053            

UBA$L_BRRVR      00000030            UBA$S_FMER_MRN = 00000009            UCB$B_CEX        00000077            

UBA$L_BRSVR      00000020            UBA$S_FUBAR_ADR= 00000012            UCB$B_CM1        0000004A            

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  15

SYMBOL TABLE                                                                                                                     (1)



UCB$B_CM2        0000004B            UCB$L_RQFL       00000000            UCB$V_PRMMBX   = 00000000            

UCB$B_DEVCLASS   00000038            UCB$L_SVAPTE     00000068            UCB$V_SEGFLO   = 00000002            

UCB$B_DEVTYPE    00000039            UCB$L_SVPN       00000064            UCB$V_TIM      = 00000000            

UCB$B_DIPL       00000052            UCB$L_TTCHAR     0000003C            UCB$V_TIMOUT   = 00000006            

UCB$B_DX_SCTCNT  000000A6            UCB$L_VCB        00000030            UCB$V_TT_NOTIF = 00000002            

UCB$B_ERTCNT     00000070            UCB$M_BACKP    = 00000020            UCB$V_TT_TIMO  = 00000001            

UCB$B_ERTMAX     00000071            UCB$M_BSY      = 00000100            UCB$V_UNLOAD   = 0000000C            

UCB$B_ESCAPE     0000004B            UCB$M_CANCEL   = 00000008            UCB$V_VALID    = 0000000B            

UCB$B_FEX        00000076            UCB$M_DEADMO   = 00000400            UCB$W_BCNT       0000006E            

UCB$B_FIPL       0000000B            UCB$M_DELMBX   = 00000002            UCB$W_BCR        00000096            

UCB$B_LOCSRV     0000003C            UCB$M_DIAGBUF  = 00000002            UCB$W_BOFF       0000006C            

UCB$B_OFFNDX     00000094            UCB$M_DX_WRITE = 00000008            UCB$W_BUFQUO     00000018            

UCB$B_OFFRTC     00000095            UCB$M_ECC      = 00000001            UCB$W_BYTESTOGO  0000003E            

UCB$B_REMSRV     0000003D            UCB$M_ERLOGIP  = 00000004            UCB$W_CHARGE     0000004A            

UCB$B_SECTORS    0000003C            UCB$M_INT      = 00000002            UCB$W_CYLINDERS  0000003E            

UCB$B_SLAVE      00000074            UCB$M_INTTYPE  = 00000080            UCB$W_DA         0000008C            

UCB$B_SPR        00000075            UCB$M_JOB      = 00000001            UCB$W_DC         0000008E            

UCB$B_STATE      00000052            UCB$M_MOUNTING = 00000200            UCB$W_DEVBUFSIZ  0000003A            

UCB$B_TRACKS     0000003D            UCB$M_NOCNVRT  = 00000004            UCB$W_DEVSTS     0000005A            

UCB$B_TYPE       0000000A            UCB$M_NT_BFROVF= 00000004            UCB$W_DIRSEQ     00000088            

UCB$B_VERTSZ     0000003F            UCB$M_NT_BREAK = 00000020            UCB$W_DSTADDR    00000018            

UCB$C_LENGTH     00000074            UCB$M_NT_NAME  = 00000010            UCB$W_DX_BCR     000000A4            

UCB$C_LOGLNK   = 00000001            UCB$M_ONLINE   = 00000010            UCB$W_EC1        00000090            

UCB$K_LENGTH     00000074            UCB$M_POWER    = 00000020            UCB$W_EC2        00000092            

UCB$L_AMB        00000054            UCB$M_PRMMBX   = 00000001            UCB$W_ERRCNT     00000072            

UCB$L_ASTQBL     00000010            UCB$M_TIM      = 00000001            UCB$W_FUNC       0000007E            

UCB$L_ASTQFL     0000000C            UCB$M_TIMOUT   = 00000040            UCB$W_MB_SEED    FFFFFFFC            

UCB$L_CPID       0000005C            UCB$M_TT_NOTIF = 00000004            UCB$W_MSGCNT     00000016            

UCB$L_CRB        00000020            UCB$M_TT_TIMO  = 00000002            UCB$W_MSGMAX     00000014            

UCB$L_DDB        00000024            UCB$M_UNLOAD   = 00001000            UCB$W_NT_CHAN    0000007C            

UCB$L_DEVCHAR    00000034            UCB$M_VALID    = 00000800            UCB$W_OFFSET     0000008A            

UCB$L_DEVDEPEND  0000003C            UCB$S_LNKPRI   = 00000002            UCB$W_REFC       00000050            

UCB$L_DPC        00000080            UCB$S_LTYPE    = 00000002            UCB$W_SIZE       00000008            

UCB$L_DUETIM     0000005C            UCB$T_PARTNER    0000000C            UCB$W_SRCADDR    0000001A            

UCB$L_DX_BFPNT   0000009C            UCB$V_BACKP    = 00000005            UCB$W_STS        00000058            

UCB$L_DX_BUF     00000098            UCB$V_BSY      = 00000008            UCB$W_UNIT       00000048            

UCB$L_DX_RXDB    000000A0            UCB$V_CANCEL   = 00000003            UCB$W_VPROT      0000001A            

UCB$L_EMB        00000078            UCB$V_DEADMO   = 0000000A            VEC$B_DATAPATH   00000013            

UCB$L_FIRST      00000014            UCB$V_DELMBX   = 00000001            VEC$B_NUMREG     00000012            

UCB$L_FPC        0000000C            UCB$V_DIAGBUF  = 00000001            VEC$C_LENGTH     00000024            

UCB$L_FQBL       00000004            UCB$V_DX_WRITE = 00000003            VEC$K_LENGTH     00000024            

UCB$L_FQFL       00000000            UCB$V_ECC      = 00000000            VEC$L_ADP        00000014            

UCB$L_FR3        00000010            UCB$V_ERLOGIP  = 00000002            VEC$L_IDB        00000008            

UCB$L_FR4        00000014            UCB$V_INT      = 00000001            VEC$L_INITIAL    0000000C            

UCB$L_IOQBL      00000044            UCB$V_INTTYPE  = 00000007            VEC$L_START      0000001C            

UCB$L_IOQFL      00000040            UCB$V_JOB      = 00000000            VEC$L_UNITDISC   00000020            

UCB$L_IRP        0000004C            UCB$V_LNKPRI   = 00000006            VEC$L_UNITINIT   00000018            

UCB$L_LINK       0000002C            UCB$V_LTYPE    = 00000000            VEC$M_MAPLOCK  = 00008000            

UCB$L_LOGADR     00000064            UCB$V_MOUNTING = 00000009            VEC$M_PATHLOCK = 00000080            

UCB$L_MAXBLOCK   00000084            UCB$V_MSGACK   = 00000004            VEC$Q_DISPATCH   00000000            

UCB$L_MEDIA      0000008C            UCB$V_MSGFLO   = 00000003            VEC$S_DATAPATH = 00000007            

UCB$L_NT_DATSSB  00000074            UCB$V_NOCNVRT  = 00000002            VEC$S_MAPREG   = 0000000F            

UCB$L_NT_INTSSB  00000078            UCB$V_NT_BFROVF= 00000002            VEC$V_DATAPATH = 00000000            

UCB$L_OPCNT      00000060            UCB$V_NT_BREAK = 00000005            VEC$V_MAPLOCK  = 0000000F            

UCB$L_OWNUIC     0000001C            UCB$V_NT_NAME  = 00000004            VEC$V_MAPREG   = 00000000            

UCB$L_PID        00000028            UCB$V_ONLINE   = 00000004            VEC$V_PATHLOCK = 00000007            

UCB$L_RQBL       00000004            UCB$V_POWER    = 00000005            VEC$W_MAPREG     00000010            

DXUTILITY       - FLOPPY DISK DRIVER UTILITY ROUTINES            21-AUG-1978 20:53:21   VAX-11 MACRO X0.3-11               Page  16

SYMBOL TABLE                                                                                                                     (1)



XFER             0000016F R     03   





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  

$ABS$            FFFFFFFE      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

$$$115_DRIVER    000001D6      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

3304. BYTES LEFT IN FREE MEMORY POOL.

3270. BYTES OF RECLAIMED MEMORY.

OBJ$:DXUTILITY,LIS$:DXUTILITY/-SP=EXECML$/ML,SRC$:DXUTILITY

11 MLB DIR RDS - 1240 GETS TO DEFINE 27 MACROS. 101 INTER. FILE WRITES. 

