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

TABLE OF CONTENTS   



   (1)    5500  RX FUNCTION DECISION TABLE

   (1)   10000  START I/O OPERATION

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

01                                                                                                                               (1)



                                     0000   100 	.TITLE	DXUTILITY - FLOPPY DISK DRIVER UTILITY ROUTINES

                                     0000   200 	.IDENT	/01/

                                     0000   300  

                                     0000   400 ;

                                     0000   500 ; COPYRIGHT (C) 1977

                                     0000   600 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000   700 ;

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

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

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

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

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

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

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

                                     0000  1500 ;

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

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

                                     0000  1800 ; EQUIPMENT CORPORATION.

                                     0000  1900 ;

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

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

                                     0000  2200 ;

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

                                     0000  2400 ;

                                     0000  2500 ; STAR FLOPPY DRIVER UTILITY ROUTINES

                                     0000  2600 ;

                                     0000  2700 ; MACRO LIBRARY CALLS

                                     0000  2800 ;

                                     0000  2900  

                                     0000  3000 	$ADPDEF				;DEFINE ADP OFFSETS

                                     0000  3100 	$CRBDEF				;DEFINE CRB OFFSETS

                                     0000  3200 	$DDBDEF				;DEFINE DDB OFFSETS

                                     0000  3300 	$DDTDEF				;DEFINE DDT OFFSETS

                                     0000  3400 	$EMBDEF				;DEFINE EMB OFFSETS

                                     0000  3500 	$IDBDEF				;DEFINE IDB OFFSETS

                                     0000  3600 	$IODEF				;DEFINE I/O FUNCTION CODES

                                     0000  3700 	$IRPDEF				;DEFINE IRP OFFSETS

                                     0000  3800 	$PRDEF				;DEFINE PROCESSOR REGISTERS

                                     0000  3900 	$SSDEF				;DEFINE SYSTEM STATUS VALUES

                                     0000  4000 	$UBADEF				;DEFINE UBA REGISTER OFFSETS

                                     0000  4100 	$UCBDEF				;DEFINE UCB OFFSETS

                                     0000  4200 	$VECDEF				;DEFINE INTERRUPT DISPATCH VECTOR OFFSETS

                                     0000  4300  

                                     0000  4400 ;

                                     0000  4500 ; LOCAL MACROS

                                     0000  4600 ;

                                     0000  4700 ; REPORT DEVICE ERROR

                                     0000  4800 ;

                                     0000  4900  

                                     0000  5000 	.MACRO	RPTERR	CODE

                                     0000  5100 	MOVZWL	CODE,R0

                                     0000  5200 	BRB	FUNCXT

                                     0000  5300 	.ENDM

                                     0000  5400  

                                     0000  5500 	.SBTTL	RX FUNCTION DECISION TABLE

                                     0000  5600  

                                     0000  5700 ;+

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

01              RX FUNCTION DECISION TABLE                                                                                       (1)



                                     0000  5800 ; RX FUNCTION DECISION TABLE

                                     0000  5900 ;-

                                     0000  6000  

                                 00000000  6100 	.PSECT	WIONONPAGED

                                     0000  6200  

                                     0000  6300 DX$FUNCTABLE::				;FUNCTION DECISION TABLE

                                     0000  6400 	FUNCTAB	,-			;LEGAL FUNCTIONS

                                     0000  6500 		<READLBLK,-		;READ LOGICAL BLOCK

                                     0000  6600 		WRITELBLK,-		;WRITE LOGICAL BLOCK

                                     0000  6700 		READPBLK,-		;READ PHYSICAL BLOCK

                                     0000  6800 		WRITEPBLK,-		;WRITE PHYSICAL BLOCK

                                     0000  6900 		READVBLK,-		;READ VIRTUAL BLOCK

                                     0000  7000 		WRITEVBLK,-		;WRITE VIRTUAL BLOCK

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

                                     0000  7200 		ACPCONTROL,-		;ACP CONTROL FUNCTION

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

                                     0000  7400 		DEACCESS,-		;DEACCESS FILE

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

                                     0000  7600 		MODIFY>			;MODIFY FILE ATTRIBUTES

                                     0008  7700 	FUNCTAB	,-			;BUFFERED I/O FUNCTIONS

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

                                     0008  7900 		ACPCONTROL,-		;ACP CONTROL FUNCTION

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

                                     0008  8100 		DEACCESS,-		;DEACCESS FILE

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

                                     0008  8300 		MODIFY>			;MODIFY FILE ATTRIBUTES

                                     0010  8400 	FUNCTAB	ACP$READBLK,-		;READ FUNCTIONS

                                     0010  8500 		<READLBLK,-		;READ LOGICAL BLOCK

                                     0010  8600 		READPBLK,-		;READ PHYSICAL BLOCK

                                     0010  8700 		READVBLK>		;READ VIRTUAL BLOCK

                                     001C  8800 	FUNCTAB	ACP$WRITEBLK,-		;WRITE FUNCTIONS

                                     001C  8900 		<WRITELBLK,-		;WRITE LOGICAL BLOCK

                                     001C  9000 		WRITEPBLK,-		;WRITE PHYSICAL BLOCK

                                     001C  9100 		WRITEVBLK>		;WRITE VIRTUAL BLOCK

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

                                     0034  9300 	FUNCTAB	ACP$DEACCESS,<DEACCESS>	;DEACCESS FILE

                                     0040  9400 	FUNCTAB	ACP$MODIFY,-		;

                                     0040  9500 		<ACPCONTROL,-		;ACP CONTROL FUNCTION

                                     0040  9600 		DELETE,-		;DELETE FILE OR DIRECTORY ENTRY

                                     0040  9700 		MODIFY>			;MODIFY FILE ATTRIBUTES

                                     004C  9800  

                                     004C  9900  

                                     004C 10000 	.SBTTL	START I/O OPERATION

                                     004C 10100  

                                     004C 10200 ;+

                                     004C 10300 ; DX$STARTIO - START I/O ON FLOPPY DEVICE UNIT

                                     004C 10400 ;

                                     004C 10500 ; THIS ROUTINE IS ENTERED VIA A 'BSBW' TO START I/O ON A DEVICE UNIT.

                                     004C 10600 ; CONTROL ALTERNATES BETWEEN THE FLOPPY DRIVER AND THIS CODE. THIS ROU-

                                     004C 10700 ; TINE IS CALLED TO PERFORM HARDWARE INDEPENDANT PROCESSING. ALL HARD-

                                     004C 10800 ; WARE SPECIFIC PROCESSING IS PERORMED BY DEVICE-SPECIFIC CODE IN THE

                                     004C 10900 ; DRIVER. 

                                     004C 11000 ;

                                     004C 11100 ; THE PROTOCOL IS AS FOLLOWS:

                                     004C 11200 ;

                                     004C 11300 ;	1. THE DRIVER CALLS DX$STARTIO TO ESTABLISH INITIAL CONDITIONS.

                                     004C 11400 ;

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

01              START I/O OPERATION                                                                                              (1)



                                     004C 11500 ;	2. DXUTILITY COMPUTES THE PHYSICAL MEDIA ADDRESS AND BUFFER ADDRESS

                                     004C 11600 ;	   AND EXECUTES A CO-ROUTINE CALL TO THE DRIVER.

                                     004C 11700 ;

                                     004C 11800 ;	3. THE DRIVER POSITIONS THE MEDIA, PERFORMS ANY ADDITIONAL HARDWARE

                                     004C 11900 ;	   FUNCTIONS AND RETURNS CONTROL TO DXUTILITY.

                                     004C 12000 ;

                                     004C 12100 ;	4. CONTROL ALTERNATES BETWEEN THE DRIVER AND DXUTILITY UNTIL ONE

                                     004C 12200 ;	   SECTOR OF DATA HAS BEEN TRANSFERRED TO THE INTERNAL BUFFER.

                                     004C 12300 ;

                                     004C 12400 ;	5. DXUTILITY FLAGS COMPLETION OF A SECTOR TRANSFER AND CALLS THE DRI-

                                     004C 12500 ;	   VER TO PERFORM END-OF-SECTOR PROCESSING AND DROP TO FORK LEVEL.

                                     004C 12600 ;

                                     004C 12700 ;	6. THE DRIVER CALLS DXUTILITY TO UPDATE THE MEDIA ADDRESS. IF MORE

                                     004C 12800 ;	   DATA REMAINS TO BE TRANSFERRED, DXUTILITY TRANSFERS CONTROL TO

                                     004C 12900 ;	   STEP 2 TO CONTINUE PROCESSING.

                                     004C 13000 ;

                                     004C 13100 ; EACH CO-ROUTINE CALL SITE CONTAINS A CONTINGENCY EXIT ADDRESS. IN THE

                                     004C 13200 ; EVENT OF A HARDWARE ERROR, CONTROL WILL BE PASSED TO THE ERROR HANDLER

                                     004C 13300 ; TO EFFECT A RE-TRY OR TERMINATE THE REQUEST.

                                     004C 13400 ;

                                     004C 13500 ; INPUTS:

                                     004C 13600 ;

                                     004C 13700 ;	R3 = ADDRESS OF I/O PACKET

                                     004C 13800 ;

                                     004C 13900 ;	R5 = UCB ADDRESS OF DEVICE UNIT

                                     004C 14000 ;

                                     004C 14100 ; OUTPUTS:

                                     004C 14200 ;

                                     004C 14300 ;	*******OUTPUTS*******

                                     004C 14400 ;

                                     004C 14500 ;-

                                     004C 14600  

                                     004C 14700 	.ENABL	LSB

                                     004C 14800  

                                     004C 14900 DX$STARTIO::				;START I/O OPERATION

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

                          21         0050       

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

            50            00         0055       

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

            50            52     7B  005B 15300 	EDIV	R2,R0,R0,IRP$L_MEDIA(R3) ;COMPUTE SECTOR

         34 A3            50         005E       

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

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

            51            50         0068       

         35 A3            51     90  006A 15600 	MOVB	R1,IRP$L_MEDIA+1(R3)	;SAVE TRACK ADDRESS

         36 A3            50     B0  006E 15700 	MOVW	R0,IRP$L_MEDIA+2(R3)	;SAVE CYLINDER ADDRESS

                                     0072 15800 1$:					;

         FC A5         6E A5     B0  0072 15900 	MOVW	UCB$W_BCNT(R5),UCB$W_DX_BCR(R5) ;STORE BYTE COUNT

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

                          00         007B       

                                     007C 16100 2$:					;

                          0103   30  007C 16200 	BSBW	SETBUF			;SETUP BUFFER PARAMETERS

            06            00     EF  007F 16300 	EXTZV	#IRP$V_FCODE,#IRP$S_FCODE,IRP$W_FUNC(R3),R0 ;GET FUNCTION CODE

            50         20 A3         0082       

            0C            50     91  0085 16400 	CMPB	R0,#IO$_READPBLK	;READ PHYSICAL BLOCK?

                          08     13  0088 16500 	BEQL	5$			;IF EQL YES

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

01              START I/O OPERATION                                                                                              (1)



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

                          00         008E       

                                     008F 16700 3$:					;

                          00D1   30  008F 16800 	BSBW	MOVFRUSER		;GET INITIAL SECTOR FULL OF DATA

                                     0092 16900 5$:					;

         70 A5         71 A5     90  0092 17000 	MOVB	UCB$B_ERTMAX(R5),UCB$B_ERTCNT(R5) ;INITIALIZE ERROR RETRY COUNT

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

                          03         009B       

                       70 A5     94  009C 17200 	CLRB	UCB$B_ERTCNT(R5)	;INHIBIT RETRIES ON ERROR

                                     009F 17300 10$:					;

                          6A     10  009F 17400 	BSBB	TRKSEC			;COMPUTE MEDIA ADDRESS

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

                          37     1E  00A6 17600 	BGEQU	62$			;IF GEQU NO

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

                                     00AE 17800 	UCB$M_INTTYPE!-			;INTERRUPT TYPE

                                     00AE 17900 	UCB$M_POWER!-			;POWERFAIL,AND

                                     00AE 18000 	UCB$M_TIMOUT,UCB$W_STS(R5)	;TIMEOUT STATUS BITS

                                     00AE 18100 20$:					;

                          53     D6  00AE 18200 	INCL	R3			;FLAG READY FOR TRANSFER

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

                          53     D4  00B2 18400 	CLRL	R3			;ASSUME TRANSFERRED LAST BYTE

                       F4 A5     D6  00B4 18500 	INCL	UCB$L_DX_BFPNT(R5)	;INCREMENT BUFFER POINTER

                       FE A5     97  00B7 18600 	DECB	UCB$B_DX_SCTCNT(R5)	;DECREMENT SECTOR COUNT

                          F2     12  00BA 18700 	BNEQ	20$			;IF NEQ TRANSFER ANOTHER BYTE

                          9E     16  00BC 18800 	JSB	@(SP)+			;CALL THE CALLER

                          0080   30  00BE 18900 	BSBW	XFER			;TRANSFER DATA TO/FROM USER

            31            50     E9  00C1 19000 	BLBC	R0,IOSUCC		;IF LBC DONE

                                     00C4 19100  

                                     00C4 19200 ;

                                     00C4 19300 ; COMPUTE NEXT MEDIA ADDRESS

                                     00C4 19400 ;

                                     00C4 19500  

                                     00C4 19600 40$:					;

            50            02     D0  00C4 19700 	MOVL	#2,R0			;SET LOOP COUNT

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

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

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

                                     00D3 20100 50$:					;

                          62     96  00D3 20200 	INCB	(R2)			;INCREMENT MEDIA ADDRESS

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

                          C5     1F  00D8 20400 	BLSSU	10$			;IF LSSU HAVE NEXT MEDIA ADDRESS

                          82     94  00DA 20500 	CLRB	(R2)+			;RESET ADDRESS

            F4            50     F4  00DC 20600 	SOBGEQ	R0,50$			;LOOP TO NEXT ADDRESS

                                     00DF 20700 62$:					;

                                     00DF 20800 	RPTERR	#SS$_IVADDR		;REPORT INVALID DISK ADDRESS

                                     00E6 20900  

                                     00E6 21000 ;+

                                     00E6 21100 ; DX$ERR - CONTINGENCY EXIT HANDLER

                                     00E6 21200 ;

                                     00E6 21300 ; THIS ROUTINE IS ENTERED WHENEVER THE DRIVER DETECTS A POWER-FAIL, DEVICE

                                     00E6 21400 ; TIMEOUT OR HARDWARE ERROR CONDITION.  IF THE ERROR WAS CAUSED BY DEVICE

                                     00E6 21500 ; TIMEOUT OR POWER FAIL, THE TRANSFER IS RESTARTED. IF THE ERROR IS NON-

                                     00E6 21600 ; FATAL, THE RETRY COUNT IS DECREMENTED AND THE TRANSFER IS REPEATED IF

                                     00E6 21700 ; THE RESULT IS NONZERO. ALL OTHER CONDITIONS RESULT IN REQUEST TERMINA-

                                     00E6 21800 ; TION WITH STATUS CONTAINED IN R0

                                     00E6 21900 ;

                                     00E6 22000 ; INPUTS:

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

01              START I/O OPERATION                                                                                              (1)



                                     00E6 22100 ;

                                     00E6 22200 ;	R0 = ERROR STATUS CODE

                                     00E6 22300 ;	R3 = ERROR SEVERITY INDICATION

                                     00E6 22400 ;

                                     00E6 22500 ;	R5 = ADDRESS OF UCB

                                     00E6 22600 ;	(SP) = RETURN TO DRIVER RESTART CODE

                                     00E6 22700 ;

                                     00E6 22800 ; 	R3 LBC = FATAL ERROR

                                     00E6 22900 ;	R3 LBS = RETRIABLE ERROR

                                     00E6 23000 ;

                                     00E6 23100 ; OUTPUTS:

                                     00E6 23200 ;

                                     00E6 23300 ;	NONE

                                     00E6 23400 ;-

                                     00E6 23500  

                                     00E6 23600 DX$ERR::				;

            0F            53     E9  00E6 23700 	BLBC	R3,FUNCXT		;IF LBC, FATAL HARDWARE ERROR

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

                          B1         00ED       

                       70 A5     97  00EE 23900 	DECB	UCB$B_ERTCNT(R5)	;DECREMENT RETRY COUNT

                          AC     14  00F1 24000 	BGTR	10$			;IF GTR, TRY AGAIN

                          03     11  00F3 24100 	BRB	FUNCXT			;TERMINATE REQUEST

                                     00F5 24200  

                                     00F5 24300 	.DSABL	LSB

                                     00F5 24400  

                                     00F5 24500 ;

                                     00F5 24600 ; TERMINATE REQUEST SUCCESFULLY

                                     00F5 24700 ;

                                     00F5 24800  

                                     00F5 24900 IOSUCC:					;

            50            01     3C  00F5 25000 	MOVZWL	#SS$_NORMAL,R0		;SET SUCCESS

                                     00F8 25100  

                                     00F8 25200 ;

                                     00F8 25300 ; FUNCTION COMPLETION COMMON EXIT

                                     00F8 25400 ;

                                     00F8 25500  

                                     00F8 25600 FUNCXT:					;

                          8E     D6  00F8 25700 	INCL	(SP)+			;CLEAN THE STACK

                          03     BB  00FA 25800 	PUSHR	#^M<R0,R1>		;SAVE REGISTERS

                          FF01'  30  00FC 25900 	BSBW	IOC$DIAGBUFILL		;FILL DIAGNOSTIC BUFFER IF PRESENT

         6E A5         FC A5     A3  00FF 26000 	SUBW3	UCB$W_DX_BCR(R5),UCB$W_BCNT(R5),2(SP) ;COMPUTE BYTES TRANSFERRED

                       02 AE         0104       

                          03     BA  0106 26100 	POPR	#^M<R0,R1>		;RESTORE REGISTERS

                                     0108 26200 	REQCOM				;TERMINATE REQUEST

                                     010B 26300  

                                     010B 26400 ;+

                                     010B 26500 ; TRKSEC - CONVERT LOGICAL TO PHYSICAL DISK ADDRESS

                                     010B 26600 ;

                                     010B 26700 ; THIS ROUTINE IS ENTERED VIA A 'BSB' TO CONVERT A LOGICAL DISK

                                     010B 26800 ; ADDRESS TO A PHYSICAL ADDRESS. IF THE PHYSICAL I/O FLAG IS SET

                                     010B 26900 ; IN THE I/O REQUEST PACKET, THE CONVERSION CONSISTS OF SIMPLY

                                     010B 27000 ; MOVING THE LOGICAL TRACK, SECTOR AND CYLINDER ADDRESSES IN

                                     010B 27100 ; THE PACKET MEDIA LONGWORD TO THE MEDIA ADDRESS LONGWORD IN

                                     010B 27200 ; THE UCB. IF LOGICAL I/O IS BEING PERFORMED, THEN THE LOGICAL

                                     010B 27300 ; ADDRESS IN THE I/O PACKET IS CONVERTED TO A PHYSICAL ADDRESS

                                     010B 27400 ; BY APPLYING INTERLEAVE AND TRACK-TO-TRACK SKEW. THE RESULT IS

                                     010B 27500 ; PLACED IN THE UCB MEDIA ADDRESS LONGWORD.

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

01              START I/O OPERATION                                                                                              (1)



                                     010B 27600 ;

                                     010B 27700 ; INPUTS:

                                     010B 27800 ;

                                     010B 27900 ;

                                     010B 28000 ;	R5 = ADDRESS OF UCB

                                     010B 28100 ;

                                     010B 28200 ; OUTPUTS:

                                     010B 28300 ;

                                     010B 28400 ;	R2 = POINTER TO PHYSICAL MEDIA ADDRESS

                                     010B 28500 ;

                                     010B 28600 ;	UCB$L_MEDIA CONTAINS THE PHYSICAL MEDIA ADDRESS

                                     010B 28700 ;

                                     010B 28800 ; 

                                     010B 28900 ;-

                                     010B 29000  

                                     010B 29100 TRKSEC:					;

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

            52       0088 C5     9E  010F 29300 	MOVAB	UCB$L_MEDIA(R5),R2	;POINT TO PHYSICAL MEDIA ADDRESS

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

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

                          23         011C       

            51            62     9A  011D 29600 	MOVZBL	(R2),R1			;GET CURRENT LOGICAL SECTOR

            51            0C     91  0120 29700 	CMPB	#12,R1			;SET C IF 12 < SECTOR <= 26

            51            51     D8  0123 29800 	ADWC	R1,R1			;DOUBLE SECTOR NUMBER, ADD INTERLEAVE FACTOR

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

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

            50            51         012D       

            7E         3C A5     9A  012F 30100 	MOVZBL	UCB$B_SECTORS(R5),-(SP) ;GET SECTORS/TRACK

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

            51            50         0136       

                          51     D6  0138 30300 	INCL	R1			;OFFSET SECTOR NUMBER BY 1

            62            51     90  013A 30400 	MOVB	R1,(R2)			;SAVE SECTOR NUMBER

                       02 A2     96  013D 30500 	INCB	2(R2)			;INCREMENT PAST UNUSED CYLINDER

                                     0140 30600 10$:					;

                                 05  0140 30700 	RSB				;

                                     0141 30800  

                                     0141 30900 ;+

                                     0141 31000 ; XFER - TRANSFER DATA TO OR FROM USER

                                     0141 31100 ;

                                     0141 31200 ; THIS ROUTINE IS ENTERED VIA A BSB TO TRANSFER ONE SECTOR'S WORTH OF DATA

                                     0141 31300 ; TO OR FROM THE USER'S PROCESS.

                                     0141 31400 ;

                                     0141 31500 ; INPUTS:

                                     0141 31600 ;

                                     0141 31700 ;	R5 = ADDRESS OF UCB

                                     0141 31800 ;	UCB$W_DX_BCR = BYTES LEFT TO TRANSFER

                                     0141 31900 ;

                                     0141 32000 ; OUTPUTS:

                                     0141 32100 ;

                                     0141 32200 ;	R0 LSB SET = MORE DATA TO TRANSFER

                                     0141 32300 ;	UCB$W_DX_BCR = COUNT OF BYTES REMAINING

                                     0141 32400 ;	R0 LSB CLEAR = NO MORE DATA TO TRANSFER

                                     0141 32500 ;

                                     0141 32600 ;-

                                     0141 32700  

                                     0141 32800 	.ENABL	LSB

                                     0141 32900  

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

01              START I/O OPERATION                                                                                              (1)



                                     0141 33000 XFER:					;

                          7E     D4  0141 33100 	CLRL	-(SP)			;ASSUME REQUEST COMPLETE

                          3D     10  0143 33200 	BSBB	SETBUF			;SETUP TRANSFER PARAMETERS

         FC A5            52     A2  0145 33300 	SUBW	R2,UCB$W_DX_BCR(R5)	;UPDATE BYTE COUNT

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

                          08         014D       

                          0F     13  014E 33500 	BEQL	30$			;IF EQL DONE

                          30     10  0150 33600 	BSBB	SETBUF			;GET MORE DATA FROM USER

                          0F     10  0152 33700 	BSBB	MOVFRUSER		;...

                          07     11  0154 33800 	BRB	20$			;EXIT SUCCESSFULLY

                                     0156 33900 10$:					;

                          13     10  0156 34000 	BSBB	MOVTOUSER		;MOVE DATA TO USER

                       FC A5     B5  0158 34100 	TSTW	UCB$W_DX_BCR(R5)	;TRANSFER COMPLETE NOW?

                          02     13  015B 34200 	BEQL	30$			;IF EQL YES

                                     015D 34300 20$:					;

                          6E     D6  015D 34400 	INCL	(SP)			;SET SUCCESS

                                     015F 34500 30$:					;

            50            8E     D0  015F 34600 	MOVL	(SP)+,R0		;SET SUCCESS

                                 05  0162 34700 	RSB				;

                                     0163 34800  

                                     0163 34900 	.DSABL	LSB

                                     0163 35000  

                                     0163 35100 ;+

                                     0163 35200 ; MOVFRUSER - MOVE DATA FROM USER TO FLOPPY BUFFER

                                     0163 35300 ;

                                     0163 35400 ; INPUTS:

                                     0163 35500 ;

                                     0163 35600 ;	R1 = ADDRESS OF FLOPPY BUFFER

                                     0163 35700 ;	R2 = BYTE COUNT

                                     0163 35800 ;	R5 = ADDRESS OF UCB

                                     0163 35900 ;

                                     0163 36000 ; OUTPUTS:

                                     0163 36100 ;

                                     0163 36200 ;	THE CONTENTS OF THE INTERNAL BUFFER ARE COPIED FROM THE USER'S

                                     0163 36300 ;	ADDRESS SPACE.

                                     0163 36400 ;

                                     0163 36500 ;-

                                     0163 36600  

                                     0163 36700 	.ENABL	LSB

                                     0163 36800  

                                     0163 36900 MOVFRUSER:				;

            54            52     D0  0163 37000 	MOVL	R2,R4			;SAVE BYTE COUNT

                          FE97'  30  0166 37100 	BSBW	IOC$MOVFRUSER		;MOVE DATA

                          06     11  0169 37200 	BRB	10$			;UPDATE BUFFER ADDRESS

                                     016B 37300  

                                     016B 37400 ;+

                                     016B 37500 ; MOVTOUSER - MOVE CONTENTS OF FLOPPY INTERNAL BUFFER TO USER

                                     016B 37600 ;

                                     016B 37700 ; THIS ROUTINE IS CALLED TO TRANSFER THE CONTENTS OF THE FLOPPY DATA

                                     016B 37800 ; BUFFER TO THE USER'S ADDRESS SPACE.

                                     016B 37900 ;

                                     016B 38000 ; INPUTS:

                                     016B 38100 ;

                                     016B 38200 ;	R1 = ADDRESS OF FLOPPY BUFFER

                                     016B 38300 ;	R2 = BYTE COUNT

                                     016B 38400 ;	R5 = ADDRESS OF UCB

                                     016B 38500 ;

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

01              START I/O OPERATION                                                                                              (1)



                                     016B 38600 ; OUTPUTS:

                                     016B 38700 ;

                                     016B 38800 ;	THE FLOPPY BUFFER CONTENTS ARE COPIED TO THE USER'S ADDRESS SPACE

                                     016B 38900 ;

                                     016B 39000 ;-

                                     016B 39100  

                                     016B 39200 MOVTOUSER:				;

            54            52     D0  016B 39300 	MOVL	R2,R4			;SAVE BYTE COUNT

                          FE8F'  30  016E 39400 	BSBW	IOC$MOVTOUSER		;MOVE DATA TO USER'S BUFFER

                                     0171 39500 10$:					;

         6C A5            54     A0  0171 39600 	ADDW	R4,UCB$W_BOFF(R5)	;UPDATE PAGE OFFSET

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

                          04     12  017B 39705 	BNEQ	20$			;IF NEQ PAGE BOUNDARY NOT CROSSED

         68 A5            04     C0  017D 39710 	ADDL	#4,UCB$L_SVAPTE(R5)	;UPDATE ADDRESS OF USER PTE

                                     0181 39715 20$:					;

                                 05  0181 39800 	RSB				;

                                     0182 39900  

                                     0182 40000 	.DSABL	LSB

                                     0182 40100  

                                     0182 40200 ;+

                                     0182 40300 ; SETBUF - SETUP PARAMETERS FOR TRANSFER TO OR FROM USER'S BUFFER

                                     0182 40400 ;

                                     0182 40500 ; THIS ROUTINE IS ENTERED VIA A BSB TO INITIALIZE ALL PARAMETERS REQUIRED

                                     0182 40600 ; TO TRANSFER ONE SECTOR OF DATA TO OR FROM THE USER'S PROCESS.

                                     0182 40700 ;

                                     0182 40800 ; INPUTS:

                                     0182 40900 ;

                                     0182 41000 ;	R5 = ADDRESS OF UCB

                                     0182 41100 ;

                                     0182 41200 ; OUTPUTS:

                                     0182 41300 ;

                                     0182 41400 ;	R1 = ADDRESS OF SECTOR BUFFER

                                     0182 41500 ;	R2 = NUMBER OF BYTES TO TRANSFER TO OR FROM USER

                                     0182 41600 ;	UCB$B_SECTCNT = 128

                                     0182 41700 ;	UCB$L_DXBFPNT = ADDRESS OF SECTOR BUFFER

                                     0182 41800 ;-

                                     0182 41900  

                                     0182 42000 SETBUF:					;

            50         FC A5     3C  0182 42100 	MOVZWL	UCB$W_DX_BCR(R5),R0	;GET COUNT OF BYTES REMAINING

            52         80 8F     9A  0186 42200 	MOVZBL	#128,R2			;ASSUME FULL SECTOR TO TRANSFER

         FE A5            52     90  018A 42300 	MOVB	R2,UCB$B_DX_SCTCNT(R5)	;RESET SECTOR COUNT

            51         F0 A5     D0  018E 42400 	MOVL	UCB$L_DX_BUF(R5),R1	;GET BUFFER ADDRESS

         F4 A5            51     D0  0192 42500 	MOVL	R1,UCB$L_DX_BFPNT(R5)	;SET ADDRESS

            50            52     B1  0196 42600 	CMPW	R2,R0			;SECTOR EXCEED BYTES LEFT

                          03     1F  0199 42700 	BLSSU	10$			;IF LSSU NO

            52            50     D0  019B 42800 	MOVL	R0,R2			;SET COUNT TO SMALLER AMOUNT

                                     019E 42900 10$:					;

                                 05  019E 43000 	RSB				;

                                     019F 43100 	.END

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

SYMBOL TABLE                                                                                                                     (1)



ACP$ACCESS       ********   X   03   EMB$B_DV_ERTCNT  00000006            EMB$L_CR_CODE    000000F4            

ACP$DEACCESS     ********   X   03   EMB$B_DV_ERTMAX  00000007            EMB$L_CR_ESP     00000014            

ACP$MODIFY       ********   X   03   EMB$B_DV_SLAVE   0000003C            EMB$L_CR_FP      00000058            

ACP$READBLK      ********   X   03   EMB$B_DV_TYPE    00000013            EMB$L_CR_ICCS    00000090            

ACP$WRITEBLK     ********   X   03   EMB$B_SS_MSGTXT  00000012            EMB$L_CR_ICR     00000094            

ADP$B_TYPE       0000000A            EMB$B_VALID      00000003            EMB$L_CR_ISP     00000020            

ADP$C_NUMDATAP = 00000010            EMB$C_BC_LENGTH  0000006E            EMB$L_CR_KSP     00000010            

ADP$L_DPQBL      00000010            EMB$C_BE       = 00000004            EMB$L_CR_P0BR    00000068            

ADP$L_DPQFL      0000000C            EMB$C_CR_LENGTH  000000FA            EMB$L_CR_P0LR    0000006C            

ADP$L_INTD       0000005C            EMB$C_CS       = 00000020            EMB$L_CR_P1BR    00000070            

ADP$L_LINK       00000004            EMB$C_DE       = 00000001            EMB$L_CR_P1LR    00000074            

ADP$L_MRQBL      00000018            EMB$C_DT       = 00000096            EMB$L_CR_PC      00000060            

ADP$L_MRQFL      00000014            EMB$C_LENGTH     00000004            EMB$L_CR_PCBB    00000080            

ADP$L_UBACSR     00000000            EMB$C_OM       = 00000028            EMB$L_CR_PSL     00000064            

ADP$W_DPBITMAP   0000001C            EMB$C_SS       = 00000027            EMB$L_CR_R0      00000024            

ADP$W_MRBITMAP   0000001E            EMB$C_SS_LENGTH  00000012            EMB$L_CR_R1      00000028            

ADP$W_SIZE       00000008            EMB$C_TS       = 00000026            EMB$L_CR_R10     0000004C            

BIT...         = 00000008            EMB$C_TS_LENGTH  00000010            EMB$L_CR_R11     00000050            

CRB$B_MASK       0000000E            EMB$C_UI       = 00000061            EMB$L_CR_R2      0000002C            

CRB$B_TT_ATTN    00000004            EMB$C_VD       = 00000041            EMB$L_CR_R3      00000030            

CRB$B_TT_EXPEC   00000005            EMB$C_VM       = 00000040            EMB$L_CR_R4      00000034            

CRB$B_TYPE       0000000A            EMB$C_WS       = 00000024            EMB$L_CR_R5      00000038            

CRB$C_LENGTH     00000028            EMB$K_BC_LENGTH  0000006E            EMB$L_CR_R6      0000003C            

CRB$K_LENGTH     00000028            EMB$K_CR       = 00000025            EMB$L_CR_R7      00000040            

CRB$L_INTD       00000014            EMB$K_CR_LENGTH  000000FA            EMB$L_CR_R8      00000044            

CRB$L_LINK       00000010            EMB$K_LENGTH     00000004            EMB$L_CR_R9      00000048            

CRB$L_TT_DIAL    00000000            EMB$K_MC       = 00000002            EMB$L_CR_SBIER   000000AC            

CRB$L_WQBL       00000004            EMB$K_SBC      = 00000028            EMB$L_CR_SBIFS   000000A0            

CRB$L_WQFL       00000000            EMB$K_SS_LENGTH  00000012            EMB$L_CR_SBIMT   000000A8            

CRB$M_BSY      = 00000001            EMB$K_TS_LENGTH  00000010            EMB$L_CR_SBIS    000000B4            

CRB$V_BSY      = 00000000            EMB$K_UBC      = 00000080            EMB$L_CR_SBISC   000000A4            

CRB$W_REFC       0000000C            EMB$L_BC_AP      00000054            EMB$L_CR_SBITA   000000B0            

CRB$W_SIZE       00000008            EMB$L_BC_CODE    00000068            EMB$L_CR_SBR     00000078            

DDB$B_ACPCLASS   00000013            EMB$L_BC_ESP     00000014            EMB$L_CR_SCBB    00000084            

DDB$B_TYPE       0000000A            EMB$L_BC_FP      00000058            EMB$L_CR_SISR    0000008C            

DDB$C_LENGTH     00000014            EMB$L_BC_ISP     00000020            EMB$L_CR_SLR     0000007C            

DDB$K_LENGTH     00000014            EMB$L_BC_KSP     00000010            EMB$L_CR_SP      0000005C            

DDB$L_ACPD       00000010            EMB$L_BC_PC      00000060            EMB$L_CR_SSP     00000018            

DDB$L_DDT        0000000C            EMB$L_BC_PSL     00000064            EMB$L_CR_TODR    00000098            

DDB$L_LINK       00000000            EMB$L_BC_R0      00000024            EMB$L_CR_USP     0000001C            

DDB$L_UCB        00000004            EMB$L_BC_R1      00000028            EMB$L_DV_CHAR    00000038            

DDB$T_NAME       00000014            EMB$L_BC_R10     0000004C            EMB$L_DV_ERRSEQ  0000001C            

DDB$W_SIZE       00000008            EMB$L_BC_R11     00000050            EMB$L_DV_MEDIA   00000028            

DDT$L_CANCEL     0000000C            EMB$L_BC_R2      0000002C            EMB$L_DV_OPCNT   00000030            

DDT$L_FDT        00000008            EMB$L_BC_R3      00000030            EMB$L_DV_OWNUIC  00000034            

DDT$L_INIT       00000018            EMB$L_BC_R4      00000034            EMB$L_DV_REGSAV  00000050            

DDT$L_REGDUMP    00000010            EMB$L_BC_R5      00000038            EMB$L_DV_RQPID   00000020            

DDT$L_START      00000000            EMB$L_BC_R6      0000003C            EMB$Q_BC_TIME    00000006            

DDT$L_UNSOLINT   00000004            EMB$L_BC_R7      00000040            EMB$Q_CR_TIME    00000006            

DDT$W_DIAGBUF    00000014            EMB$L_BC_R8      00000044            EMB$Q_DV_ERTIME  00000014            

DDT$W_ERRORBUF   00000016            EMB$L_BC_R9      00000048            EMB$Q_DV_IOSB    00000008            

DX$ERR           000000E6 RG    03   EMB$L_BC_SP      0000005C            EMB$Q_SS_TIME    00000006            

DX$FUNCTABLE     00000000 RG    03   EMB$L_BC_SSP     00000018            EMB$Q_TS_TIME    00000006            

DX$STARTIO       0000004C RG    03   EMB$L_BC_USP     0000001C            EMB$T_DV_NAME    00000040            

EMB$B_BC_PCB     0000006E            EMB$L_CR_ACCS    0000009C            EMB$W_BC_ENTRY   00000004            

EMB$B_BUFIND     00000002            EMB$L_CR_AP      00000054            EMB$W_BC_ERRSEQ  0000000E            

EMB$B_DV_CLASS   00000012            EMB$L_CR_ASTLVL  00000088            EMB$W_BC_PCBSZ   0000006C            

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

SYMBOL TABLE                                                                                                                     (1)



EMB$W_CR_ENTRY   00000004            IO$M_READATTN  = 00000080            IO$_MOUNT      = 00000039            

EMB$W_CR_ERRSEQ  0000000E            IO$M_REVERSE   = 00000040            IO$_NOP        = 00000000            

EMB$W_CR_PCBSZ   000000F8            IO$M_SHUTDOWN  = 00000080            IO$_OFFSET     = 00000006            

EMB$W_DV_BCNT    00000026            IO$M_STARTUP   = 00000040            IO$_PACKACK    = 00000008            

EMB$W_DV_BOFF    00000024            IO$M_SYNCH     = 00000200            IO$_PHYSICAL   = 0000001F            

EMB$W_DV_DEVSTS  00000010            IO$M_TIMED     = 00000080            IO$_READHEAD   = 0000000E            

EMB$W_DV_ENTRY   00000004            IO$M_TRMNOECHO = 00001000            IO$_READLBLK   = 00000021            

EMB$W_DV_ERRCNT  0000002E            IO$M_WRTATTN   = 00000100            IO$_READPBLK   = 0000000C            

EMB$W_DV_FUNC    0000003E            IO$S_FCODE     = 00000006            IO$_READPRESET = 00000019            

EMB$W_DV_UNIT    0000002C            IO$V_ABORT     = 00000008            IO$_READPROMPT = 00000037            

EMB$W_SIZE       00000000            IO$V_ACCESS    = 00000006            IO$_READTRACKD = 00000010            

EMB$W_SS_ENTRY   00000004            IO$V_ATTNAST   = 00000008            IO$_READVBLK   = 00000031            

EMB$W_SS_ERRSEQ  0000000E            IO$V_BINARY    = 00000006            IO$_RECAL      = 00000003            

EMB$W_SS_MSGSZ   00000010            IO$V_CANCTRLO  = 00000006            IO$_RELEASE    = 00000005            

EMB$W_TS_ENTRY   00000004            IO$V_COMMOD    = 00000006            IO$_RETCENTER  = 00000007            

EMB$W_TS_ERRSEQ  0000000E            IO$V_CREATE    = 00000007            IO$_REWIND     = 00000024            

FUNCXT           000000F8 R     03   IO$V_CTRLCAST  = 00000008            IO$_REWINDOFF  = 00000022            

GBL...         = 00000000            IO$V_CTRLYAST  = 00000007            IO$_SEARCH     = 00000009            

IDB$B_TYPE       0000000A            IO$V_CVTLOW    = 00000008            IO$_SEEK       = 00000002            

IDB$B_UNITS      0000000B            IO$V_DATACHECK = 0000000E            IO$_SENSECHAR  = 0000001B            

IDB$C_LENGTH     00000014            IO$V_DELETE    = 00000008            IO$_SENSEMODE  = 00000027            

IDB$K_LENGTH     00000014            IO$V_DMOUNT    = 0000000A            IO$_SETCHAR    = 0000001A            

IDB$L_ADP        0000000C            IO$V_DSABLMBX  = 0000000A            IO$_SETMODE    = 00000023            

IDB$L_CSR        00000000            IO$V_ENABLMBX  = 00000007            IO$_SKIPFILE   = 00000025            

IDB$L_OWNER      00000004            IO$V_FCODE     = 00000000            IO$_SKIPRECORD = 00000026            

IDB$L_UCBLST     00000010            IO$V_HANGUP    = 00000009            IO$_SPACEFILE  = 00000002            

IDB$W_SIZE       00000008            IO$V_INHERLOG  = 0000000B            IO$_SPACERECORD= 00000009            

IO$M_ABORT     = 00000100            IO$V_INHEXTGAP = 0000000C            IO$_STARTSPNDL = 00000019            

IO$M_ACCESS    = 00000040            IO$V_INHRETRY  = 0000000F            IO$_UNLOAD     = 00000001            

IO$M_ATTNAST   = 00000100            IO$V_INHSEEK   = 0000000C            IO$_VIRTUAL    = 0000003F            

IO$M_BINARY    = 00000040            IO$V_INTERRUPT = 00000006            IO$_WRITECHECK = 0000000A            

IO$M_CANCTRLO  = 00000040            IO$V_MOUNT     = 00000009            IO$_WRITECHECKH= 00000018            

IO$M_COMMOD    = 00000040            IO$V_NOECHO    = 00000006            IO$_WRITEHEAD  = 0000000D            

IO$M_CREATE    = 00000080            IO$V_NOFILTR   = 00000009            IO$_WRITELBLK  = 00000020            

IO$M_CTRLCAST  = 00000100            IO$V_NOFORMAT  = 00000008            IO$_WRITEMARK  = 0000001C            

IO$M_CTRLYAST  = 00000080            IO$V_NOW       = 00000006            IO$_WRITEOF    = 00000028            

IO$M_CVTLOW    = 00000100            IO$V_NOWAIT    = 00000007            IO$_WRITEPBLK  = 0000000B            

IO$M_DATACHECK = 00004000            IO$V_PACKED    = 00000007            IO$_WRITETRACKD= 0000000F            

IO$M_DELETE    = 00000100            IO$V_PURGE     = 0000000B            IO$_WRITEVBLK  = 00000030            

IO$M_DMOUNT    = 00000400            IO$V_READATTN  = 00000007            IOC$DIAGBUFILL   ********   X   03   

IO$M_DSABLMBX  = 00000400            IO$V_REVERSE   = 00000006            IOC$MOVFRUSER    ********   X   03   

IO$M_ENABLMBX  = 00000080            IO$V_SHUTDOWN  = 00000007            IOC$MOVTOUSER    ********   X   03   

IO$M_FCODE     = 0000003F            IO$V_STARTUP   = 00000006            IOC$REQCOM       ********   X   03   

IO$M_HANGUP    = 00000200            IO$V_SYNCH     = 00000009            IOSUCC           000000F5 R     03   

IO$M_INHERLOG  = 00000800            IO$V_TIMED     = 00000007            IRP$B_CARCON     00000038            

IO$M_INHEXTGAP = 00001000            IO$V_TRMNOECHO = 0000000C            IRP$B_EFN        00000022            

IO$M_INHRETRY  = 00008000            IO$V_WRTATTN   = 00000008            IRP$B_PRI        00000023            

IO$M_INHSEEK   = 00001000            IO$_ACCESS     = 00000032            IRP$B_RMOD       0000000B            

IO$M_INTERRUPT = 00000040            IO$_ACPCONTROL = 00000038            IRP$B_TYPE       0000000A            

IO$M_MOUNT     = 00000200            IO$_CREATE     = 00000033            IRP$C_LENGTH     0000004C            

IO$M_NOECHO    = 00000040            IO$_DEACCESS   = 00000034            IRP$K_LENGTH     0000004C            

IO$M_NOFILTR   = 00000200            IO$_DELETE     = 00000035            IRP$L_AST        00000010            

IO$M_NOFORMAT  = 00000100            IO$_DIAGNOSE   = 0000001D            IRP$L_ASTPRM     00000014            

IO$M_NOW       = 00000040            IO$_DRVCLR     = 00000004            IRP$L_DIAGBUF    00000044            

IO$M_NOWAIT    = 00000080            IO$_ERASETAPE  = 00000006            IRP$L_IOQBL      00000004            

IO$M_PACKED    = 00000080            IO$_LOGICAL    = 0000002F            IRP$L_IOQFL      00000000            

IO$M_PURGE     = 00000800            IO$_MODIFY     = 00000036            IRP$L_IOSB       00000024            

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

SYMBOL TABLE                                                                                                                     (1)



IRP$L_IOST1      00000034            PR$_KSP        = 00000000            SS$_CMODUSER   = 00000424            

IRP$L_IOST2      00000038            PR$_MAPEN      = 00000038            SS$_COMPAT     = 0000042C            

IRP$L_MEDIA      00000034            PR$_NICR       = 00000019            SS$_CONTINUE   = 00000001            

IRP$L_PID        0000000C            PR$_P0BR       = 00000008            SS$_CONTROLC   = 00000651            

IRP$L_SEGVBN     00000040            PR$_P0LR       = 00000009            SS$_CONTROLO   = 00000609            

IRP$L_SEQNUM     00000048            PR$_P1BR       = 0000000A            SS$_CONTROLY   = 00000611            

IRP$L_SVAPTE     0000002C            PR$_P1LR       = 0000000B            SS$_CREATED    = 00000619            

IRP$L_TT_TERM    00000038            PR$_PCBB       = 00000010            SS$_CTRLERR    = 00000054            

IRP$L_UCB        0000001C            PR$_RXCS       = 00000020            SS$_DATACHECK  = 0000005C            

IRP$L_WIND       00000018            PR$_RXDB       = 00000021            SS$_DATAOVERUN = 00000838            

IRP$M_BUFIO    = 00000001            PR$_SBIER      = 00000034            SS$_DEBUG      = 0000046C            

IRP$M_CHAINED  = 00000020            PR$_SBIFS      = 00000030            SS$_DEVACTIVE  = 000002C4            

IRP$M_COMPLX   = 00000008            PR$_SBIMT      = 00000033            SS$_DEVALLOC   = 00000840            

IRP$M_DIAGBUF  = 00000080            PR$_SBIQC      = 00000036            SS$_DEVALRALLOC= 00000641            

IRP$M_FUNC     = 00000002            PR$_SBIS       = 00000031            SS$_DEVASSIGN  = 00000848            

IRP$M_PAGIO    = 00000004            PR$_SBISC      = 00000032            SS$_DEVFOREIGN = 00000064            

IRP$M_PHYSIO   = 00000100            PR$_SBITA      = 00000035            SS$_DEVICEFULL = 00000850            

IRP$M_PRIVIO   = 00000200            PR$_SBR        = 0000000C            SS$_DEVMOUNT   = 0000006C            

IRP$M_SWAPIO   = 00000040            PR$_SCBB       = 00000011            SS$_DEVNOTALLOC= 00000858            

IRP$M_VIRTUAL  = 00000010            PR$_SID        = 0000003E            SS$_DEVNOTMBX  = 00000074            

IRP$S_FCODE    = 00000006            PR$_SIRR       = 00000014            SS$_DEVNOTMOUNT= 0000007C            

IRP$S_FMOD     = 0000000A            PR$_SISR       = 00000015            SS$_DEVOFFLINE = 00000084            

IRP$S_MODE     = 00000002            PR$_SLR        = 0000000D            SS$_DIRFULL    = 00000860            

IRP$V_BUFIO    = 00000000            PR$_SSP        = 00000002            SS$_DRVERR     = 0000008C            

IRP$V_CHAINED  = 00000005            PR$_TBIA       = 00000039            SS$_DUPFILENAME= 00000868            

IRP$V_COMPLX   = 00000003            PR$_TBIS       = 0000003A            SS$_DUPLNAM    = 00000094            

IRP$V_DIAGBUF  = 00000007            PR$_TODR       = 0000001B            SS$_ENDOFFILE  = 00000870            

IRP$V_FCODE    = 00000000            PR$_TXCS       = 00000022            SS$_ENDOFTAPE  = 00000878            

IRP$V_FMOD     = 00000006            PR$_TXDB       = 00000023            SS$_ENDOFUSRLBL= 00000970            

IRP$V_FUNC     = 00000001            PR$_USP        = 00000003            SS$_EXQUOTA    = 0000001C            

IRP$V_MODE     = 00000000            PR$_WCSA       = 0000002C            SS$_EXTIDXFILE = 00000880            

IRP$V_PAGIO    = 00000002            PR$_WCSD       = 0000002D            SS$_FCPREADERR = 00000888            

IRP$V_PHYSIO   = 00000008            SETBUF           00000182 R     03   SS$_FCPREPSTN  = 00000988            

IRP$V_PRIVIO   = 00000009            SS$_ABORT      = 0000002C            SS$_FCPREWNDERR= 00000890            

IRP$V_SWAPIO   = 00000006            SS$_ACCONFLICT = 00000800            SS$_FCPSPACERR = 00000898            

IRP$V_VIRTUAL  = 00000004            SS$_ACCVIO     = 0000000C            SS$_FCPWRITERR = 000008A0            

IRP$W_ABCNT      0000003C            SS$_ARITH      = 00000404            SS$_FILACCERR  = 0000009C            

IRP$W_BCNT       00000032            SS$_ASTFLT     = 0000040C            SS$_FILALRACC  = 000000A4            

IRP$W_BOFF       00000030            SS$_BADATTRIB  = 00000034            SS$_FILELOCKED = 000008A8            

IRP$W_CHAN       00000028            SS$_BADCHKSUM  = 00000808            SS$_FILENUMCHK = 000008B0            

IRP$W_FUNC       00000020            SS$_BADESCAPE  = 0000003C            SS$_FILESEQCHK = 000008B8            

IRP$W_OBCNT      0000003E            SS$_BADFILEHDR = 00000810            SS$_FILESTRUCT = 000008C0            

IRP$W_SIZE       00000008            SS$_BADFILENAME= 00000818            SS$_FILNOTACC  = 000000AC            

IRP$W_STS        0000002A            SS$_BADFILEVER = 00000820            SS$_FILNOTCNTG = 000002AC            

IRP$W_TT_PRMPT   0000003C            SS$_BADIMGHDR  = 00000044            SS$_FILNOTEXP  = 000000B4            

MASKH          = 01600000            SS$_BADIRECTORY= 00000828            SS$_FORMAT     = 000000BC            

MASKL          = 00000000            SS$_BADPARAM   = 00000014            SS$_GPTFULL    = 000000C4            

MOVFRUSER        00000163 R     03   SS$_BADSTACK   = 000002B4            SS$_GSDFULL    = 000000CC            

MOVTOUSER        0000016B R     03   SS$_BEGOFFILE  = 00000938            SS$_GSDNOTXXX  = 000000D4            

PR$_ACCR       = 00000029            SS$_BLOCKCNTERR= 00000940            SS$_HANGUP     = 000002CC            

PR$_ACCS       = 00000028            SS$_BREAK      = 00000414            SS$_HEADERFULL = 000008C8            

PR$_ASTLVL     = 00000013            SS$_BUFFEROVF  = 00000601            SS$_IDXFILEFULL= 000008D0            

PR$_ESP        = 00000001            SS$_BUGCHECK   = 000002A4            SS$_ILLBLKNUM  = 000000DC            

PR$_ICCS       = 00000018            SS$_CANCEL     = 00000830            SS$_ILLCNTRFUNC= 000000E4            

PR$_ICR        = 0000001A            SS$_CHANINTLK  = 0000004C            SS$_ILLEFC     = 000000EC            

PR$_IPL        = 00000012            SS$_CLIFRCEXT  = 00000980            SS$_ILLIOFUNC  = 000000F4            

PR$_ISP        = 00000004            SS$_CMODSUPR   = 0000041C            SS$_ILLLBLAST  = 00000968            

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

SYMBOL TABLE                                                                                                                     (1)



SS$_ILLPAGCNT  = 000000FC            SS$_NOTSQDEV   = 000001E4            UBA$M_CSR_MT   = 08000000            

SS$_ILLSEQOP   = 000002DC            SS$_OPCCUS     = 00000434            UBA$M_CSR_OT   = 00200000            

SS$_ILLSER     = 00000104            SS$_OPCDEC     = 0000043C            UBA$M_CSR_PD   = 00800000            

SS$_ILLUSRLBLRD= 00000958            SS$_OPINCOMPL  = 000002D4            UBA$M_CSR_PE   = 80000000            

SS$_ILLUSRLBLWT= 00000960            SS$_PAGOWNVIO  = 000001EC            UBA$M_CSR_PU   = 00400000            

SS$_INCVOLLABEL= 0000010C            SS$_PAGRDERR   = 00000444            UBA$M_CSR_UBIC = 00010000            

SS$_INSFARG    = 00000114            SS$_PARITY     = 000001F4            UBA$M_CSR_UBIIP= 00040000            

SS$_INSFMEM    = 00000124            SS$_PARTESCAPE = 000001FC            UBA$M_CSR_UBPDN= 00020000            

SS$_INSFRAME   = 0000012C            SS$_PFMBSY     = 00000204            UBA$M_CSR_URD  = 20000000            

SS$_INSFWSL    = 0000011C            SS$_PSTFULL    = 0000020C            UBA$M_CSR_WS   = 40000000            

SS$_IVADDR     = 00000134            SS$_RADRMOD    = 0000044C            UBA$M_CSR_XMFLT= 04000000            

SS$_IVCHAN     = 0000013C            SS$_REJECT     = 00000294            UBA$M_DPR_BNE  = 80000000            

SS$_IVCHNLSEC  = 0000026C            SS$_REMOTE     = 00000649            UBA$M_DPR_DPF  = 20000000            

SS$_IVDEVNAM   = 00000144            SS$_RESIGNAL   = 00000918            UBA$M_DPR_XMTER= 40000000            

SS$_IVGSDNAM   = 0000014C            SS$_RESULTOVF  = 00000214            UBA$M_MAP_BO   = 02000000            

SS$_IVLOGNAM   = 00000154            SS$_ROPRAND    = 00000454            UBA$M_MAP_VALID= 80000000            

SS$_IVLOGTAB   = 0000015C            SS$_SECTBLFUL  = 0000021C            UBA$M_SR_BRID  = 00000800            

SS$_IVPROTECT  = 000002F4            SS$_SSFAIL     = 0000045C            UBA$M_SR_BRSVF = 10000000            

SS$_IVQUOTAL   = 00000164            SS$_SUPERSEDE  = 00000631            UBA$M_SR_CRD   = 00000100            

SS$_IVSECFLG   = 0000016C            SS$_TAPEPOSLOST= 00000224            UBA$M_SR_CXTER = 00000080            

SS$_IVSECIDCTL = 000002E4            SS$_TBIT       = 00000464            UBA$M_SR_CXTMO = 00000040            

SS$_IVSSRQ     = 00000174            SS$_TIMEOUT    = 0000022C            UBA$M_SR_DPPE  = 00000020            

SS$_IVSTSFLG   = 0000017C            SS$_TOOMANYVER = 00000990            UBA$M_SR_IVMR  = 00000010            

SS$_IVTIME     = 00000184            SS$_TOOMUCHDATA= 0000029C            UBA$M_SR_LER   = 00000004            

SS$_LENVIO     = 0000018C            SS$_UNASEFC    = 00000234            UBA$M_SR_MRPE  = 00000008            

SS$_LKWSETFUL  = 00000194            SS$_UNSAFE     = 0000023C            UBA$M_SR_RDS   = 00000200            

SS$_MBFULL     = 000008D8            SS$_UNWIND     = 00000920            UBA$M_SR_RDTO  = 00000400            

SS$_MBTOOSML   = 0000019C            SS$_UNWINDING  = 00000928            UBA$M_SR_RIE   = 20000000            

SS$_MCHECK     = 000002BC            SS$_VASFULL    = 00000244            UBA$M_SR_SSYNC = 00000001            

SS$_MEDOFL     = 000001A4            SS$_VECINUSE   = 0000024C            UBA$M_SR_UBIFS = 40000000            

SS$_MSGNOTFND  = 00000621            SS$_VOLINV     = 00000254            UBA$M_SR_UBSTO = 00000002            

SS$_MUSTCLOSEFL= 00000948            SS$_WAITUSRLBL = 00000950            UBA$S_BRRVR_IVA= 00000010            

SS$_NODATA     = 000001AC            SS$_WASCLR     = 00000001            UBA$S_CR_ARLVL = 00000002            

SS$_NOHANDLER  = 000008F8            SS$_WASECC     = 00000639            UBA$S_CR_MRDSB = 00000005            

SS$_NOHOMEBLK  = 000008E0            SS$_WASSET     = 00000009            UBA$S_CSR_ADCOD= 00000008            

SS$_NOIOCHAN   = 000001B4            SS$_WRITLCK    = 0000025C            UBA$S_DPR_ADDR = 00000010            

SS$_NOLINKS    = 0000027C            TRKSEC           0000010B R     03   UBA$S_DPR_STATE= 00000008            

SS$_NOLOGNAM   = 000001BC            UBA$L_BRRVR      00000030            UBA$S_FMER_MRN = 00000009            

SS$_NOMBX      = 00000274            UBA$L_BRSVR      00000020            UBA$S_FUBAR_ADR= 00000012            

SS$_NOMOREFILES= 00000930            UBA$L_CR         00000004            UBA$S_MAP_ADDR = 00000015            

SS$_NONEXDRV   = 000001C4            UBA$L_CSR        00000000            UBA$S_MAP_DPD  = 00000004            

SS$_NONEXPR    = 000008E8            UBA$L_DCR        0000000C            UBA$S_SR_BRRVF = 00000004            

SS$_NONLOCAL   = 000008F0            UBA$L_DPR        00000040            UBA$V_BRRVR_AIR= 0000001F            

SS$_NOPRIV     = 00000024            UBA$L_FMER       00000010            UBA$V_BRRVR_IVA= 00000000            

SS$_NORMAL     = 00000001            UBA$L_FUBAR      00000014            UBA$V_CR_ARLVL = 00000007            

SS$_NOSIGNAL   = 00000900            UBA$L_MAP        00000800            UBA$V_CR_BRIE  = 00000005            

SS$_NOSOLICIT  = 00000284            UBA$L_SR         00000008            UBA$V_CR_CNFIE = 00000002            

SS$_NOSUCHDEV  = 00000908            UBA$M_BRRVR_AIR= 80000000            UBA$V_CR_IFSIE = 00000006            

SS$_NOSUCHFILE = 00000910            UBA$M_CR_ARLVL = 00000180            UBA$V_CR_INIT  = 00000000            

SS$_NOSUCHNODE = 0000028C            UBA$M_CR_BRIE  = 00000020            UBA$V_CR_MRDSB = 0000001A            

SS$_NOSUCHSEC  = 00000978            UBA$M_CR_CNFIE = 00000004            UBA$V_CR_SUEFIE= 00000003            

SS$_NOTAPEOP   = 00000264            UBA$M_CR_IFSIE = 00000040            UBA$V_CR_UBPF  = 00000001            

SS$_NOTFILEDEV = 000001CC            UBA$M_CR_INIT  = 00000001            UBA$V_CR_USEFIE= 00000004            

SS$_NOTINTBLSZ = 000001D4            UBA$M_CR_SUEFIE= 00000008            UBA$V_CSR_ADCOD= 00000000            

SS$_NOTLABELMT = 000001DC            UBA$M_CR_UBPF  = 00000002            UBA$V_CSR_IS   = 0000001C            

SS$_NOTNETDEV  = 000002EC            UBA$M_CR_USEFIE= 00000010            UBA$V_CSR_MT   = 0000001B            

SS$_NOTRAN     = 00000629            UBA$M_CSR_IS   = 10000000            UBA$V_CSR_OT   = 00000015            

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

SYMBOL TABLE                                                                                                                     (1)



UBA$V_CSR_PD   = 00000017            UCB$B_STATE      00000052            UCB$M_NOCNVRT  = 00000004            

UBA$V_CSR_PE   = 0000001F            UCB$B_TRACKS     0000003D            UCB$M_NT_BFROVF= 00000004            

UBA$V_CSR_PU   = 00000016            UCB$B_TYPE       0000000A            UCB$M_NT_BREAK = 00000020            

UBA$V_CSR_UBIC = 00000010            UCB$B_VERTSZ     0000003F            UCB$M_NT_NAME  = 00000010            

UBA$V_CSR_UBIIP= 00000012            UCB$C_LENGTH     00000074            UCB$M_NT_NONTR = 00000040            

UBA$V_CSR_UBPDN= 00000011            UCB$C_LOGLNK   = 00000001            UCB$M_NT_SDP   = 00000008            

UBA$V_CSR_URD  = 0000001D            UCB$K_LENGTH     00000074            UCB$M_ONLINE   = 00000010            

UBA$V_CSR_WS   = 0000001E            UCB$L_AMB        00000054            UCB$M_POWER    = 00000020            

UBA$V_CSR_XMFLT= 0000001A            UCB$L_ASTQBL     00000010            UCB$M_PRMMBX   = 00000001            

UBA$V_DPR_ADDR = 00000000            UCB$L_ASTQFL     0000000C            UCB$M_TIM      = 00000001            

UBA$V_DPR_BNE  = 0000001F            UCB$L_CPID       0000005C            UCB$M_TIMOUT   = 00000040            

UBA$V_DPR_DPF  = 0000001D            UCB$L_CRB        00000020            UCB$M_TT_NOTIF = 00000004            

UBA$V_DPR_STATE= 00000010            UCB$L_DDB        00000024            UCB$M_TT_TIMO  = 00000002            

UBA$V_DPR_XMTER= 0000001E            UCB$L_DEVCHAR    00000034            UCB$M_VALID    = 00000800            

UBA$V_FMER_MRN = 00000000            UCB$L_DEVDEPEND  0000003C            UCB$S_LNKPRI   = 00000002            

UBA$V_FUBAR_ADR= 00000000            UCB$L_DPC        0000007C            UCB$S_LTYPE    = 00000002            

UBA$V_MAP_ADDR = 00000000            UCB$L_DUETIM     0000005C            UCB$T_PARTNER    0000000C            

UBA$V_MAP_BO   = 00000019            UCB$L_DX_BFPNT   FFFFFFF4            UCB$V_BACKP    = 00000005            

UBA$V_MAP_DPD  = 00000015            UCB$L_DX_BUF     FFFFFFF0            UCB$V_BSY      = 00000008            

UBA$V_MAP_VALID= 0000001F            UCB$L_DX_RXDB    FFFFFFF8            UCB$V_CANCEL   = 00000003            

UBA$V_SR_BRID  = 0000000B            UCB$L_EMB        00000078            UCB$V_DEADMO   = 0000000A            

UBA$V_SR_BRRVF = 00000018            UCB$L_FIRST      00000014            UCB$V_DELMBX   = 00000001            

UBA$V_SR_BRSVF = 0000001C            UCB$L_FPC        0000000C            UCB$V_DIAGBUF  = 00000001            

UBA$V_SR_CRD   = 00000008            UCB$L_FQBL       00000004            UCB$V_DX_WRITE = 00000003            

UBA$V_SR_CXTER = 00000007            UCB$L_FQFL       00000000            UCB$V_ECC      = 00000000            

UBA$V_SR_CXTMO = 00000006            UCB$L_FR3        00000010            UCB$V_ERLOGIP  = 00000002            

UBA$V_SR_DPPE  = 00000005            UCB$L_FR4        00000014            UCB$V_INT      = 00000001            

UBA$V_SR_IVMR  = 00000004            UCB$L_IOQBL      00000044            UCB$V_INTTYPE  = 00000007            

UBA$V_SR_LER   = 00000002            UCB$L_IOQFL      00000040            UCB$V_JOB      = 00000000            

UBA$V_SR_MRPE  = 00000003            UCB$L_IRP        0000004C            UCB$V_LNKPRI   = 00000006            

UBA$V_SR_RDS   = 00000009            UCB$L_LINK       0000002C            UCB$V_LTYPE    = 00000000            

UBA$V_SR_RDTO  = 0000000A            UCB$L_LOGADR     00000064            UCB$V_MOUNTING = 00000009            

UBA$V_SR_RIE   = 0000001D            UCB$L_MAXBLOCK   00000080            UCB$V_MSGACK   = 00000004            

UBA$V_SR_SSYNC = 00000000            UCB$L_MEDIA      00000088            UCB$V_MSGFLO   = 00000003            

UBA$V_SR_UBIFS = 0000001E            UCB$L_NT_DATSSB  00000074            UCB$V_NOCNVRT  = 00000002            

UBA$V_SR_UBSTO = 00000001            UCB$L_NT_INTSSB  00000078            UCB$V_NT_BFROVF= 00000002            

UCB$B_AMOD       00000053            UCB$L_OPCNT      00000060            UCB$V_NT_BREAK = 00000005            

UCB$B_CEX        00000077            UCB$L_OWNUIC     0000001C            UCB$V_NT_NAME  = 00000004            

UCB$B_CM1        0000004A            UCB$L_PID        00000028            UCB$V_NT_NONTR = 00000006            

UCB$B_CM2        0000004B            UCB$L_RQBL       00000004            UCB$V_NT_SDP   = 00000003            

UCB$B_DEVCLASS   00000038            UCB$L_RQFL       00000000            UCB$V_ONLINE   = 00000004            

UCB$B_DEVTYPE    00000039            UCB$L_SVAPTE     00000068            UCB$V_POWER    = 00000005            

UCB$B_DIPL       00000052            UCB$L_SVPN       00000064            UCB$V_PRMMBX   = 00000000            

UCB$B_DX_SCTCNT  FFFFFFFE            UCB$L_TTCHAR     0000003C            UCB$V_SEGFLO   = 00000002            

UCB$B_DX_SPARE   FFFFFFFF            UCB$L_VCB        00000030            UCB$V_TIM      = 00000000            

UCB$B_ERTCNT     00000070            UCB$M_BSY      = 00000100            UCB$V_TIMOUT   = 00000006            

UCB$B_ERTMAX     00000071            UCB$M_CANCEL   = 00000008            UCB$V_TT_NOTIF = 00000002            

UCB$B_ESCAPE     0000004B            UCB$M_DEADMO   = 00000400            UCB$V_TT_TIMO  = 00000001            

UCB$B_FEX        00000076            UCB$M_DELMBX   = 00000002            UCB$V_VALID    = 0000000B            

UCB$B_FIPL       0000000B            UCB$M_DIAGBUF  = 00000002            UCB$W_BCNT       0000006E            

UCB$B_LOCSRV     0000003C            UCB$M_DX_WRITE = 00000008            UCB$W_BCR        00000092            

UCB$B_OFFNDX     00000090            UCB$M_ECC      = 00000001            UCB$W_BOFF       0000006C            

UCB$B_OFFRTC     00000091            UCB$M_ERLOGIP  = 00000004            UCB$W_BUFQUO     00000018            

UCB$B_REMSRV     0000003D            UCB$M_INT      = 00000002            UCB$W_BYTESTOGO  0000003E            

UCB$B_SECTORS    0000003C            UCB$M_INTTYPE  = 00000080            UCB$W_CHARGE     0000004A            

UCB$B_SLAVE      00000074            UCB$M_JOB      = 00000001            UCB$W_CYLINDERS  0000003E            

UCB$B_SPR        00000075            UCB$M_MOUNTING = 00000200            UCB$W_DA         00000088            

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

SYMBOL TABLE                                                                                                                     (1)



UCB$W_DC         0000008A            

UCB$W_DEVBUFSIZ  0000003A            

UCB$W_DEVSTS     0000005A            

UCB$W_DSTADDR    00000018            

UCB$W_DX_BCR     FFFFFFFC            

UCB$W_EC1        0000008C            

UCB$W_EC2        0000008E            

UCB$W_ERRCNT     00000072            

UCB$W_FUNC       00000084            

UCB$W_MB_SEED    FFFFFFFC            

UCB$W_MSGCNT     00000016            

UCB$W_MSGMAX     00000014            

UCB$W_NT_CHAN    0000007C            

UCB$W_OFFSET     00000086            

UCB$W_REFC       00000050            

UCB$W_SIZE       00000008            

UCB$W_SRCADDR    0000001A            

UCB$W_STS        00000058            

UCB$W_UNIT       00000048            

UCB$W_VPROT      0000001A            

VEC$B_DATAPATH   00000013            

VEC$B_NUMREG     00000012            

VEC$L_ADP        00000014            

VEC$L_IDB        00000008            

VEC$L_INITIAL    0000000C            

VEC$L_TT_DISC    00000020            

VEC$L_TT_ILINE   00000018            

VEC$L_TT_STRTIO  0000001C            

VEC$M_MAPLOCK  = 00008000            

VEC$M_PATHLOCK = 00000080            

VEC$Q_DISPATCH   00000000            

VEC$S_DATAPATH = 00000007            

VEC$S_MAPREG   = 0000000F            

VEC$V_DATAPATH = 00000000            

VEC$V_MAPLOCK  = 0000000F            

VEC$V_MAPREG   = 00000000            

VEC$V_PATHLOCK = 00000007            

VEC$W_MAPREG     00000010            

XFER             00000141 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$            FFFFFFFF      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

WIONONPAGED      0000019F      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

2616. BYTES LEFT IN FREE MEMORY POOL.

3292. BYTES OF RECLAIMED MEMORY.

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

11 MLB DIR RDS - 1337 GETS TO DEFINE 24 MACROS. 102 INTER. FILE WRITES. 

