FILERWIO        - FILEREAD IO MODULE                             21-AUG-1978 19:48:29   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      43  RDWRTLBN - READ/WRITE LOGICAL BLOCK NUMBER

FILERWIO        - FILEREAD IO MODULE                             21-AUG-1978 19:48:29   VAX-11 MACRO X0.3-11               Page   1

X0100                                                                                                                            (1)



                                     0000     1 

                                     0000     2 	.TITLE	FILERWIO - FILEREAD IO MODULE

                                     0000     3 	.IDENT	/X0100/

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1976

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

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

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

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

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

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

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

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

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

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

                                     0000    18 ; 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 ;++

                                     0000    24 ; FACILITY:	USER CALLABLE PROCEDURES

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;

                                     0000    28 ;	THIS MODULE PURFORMS LOGICAL BLOCK I/O FOR FILEREAD

                                     0000    29 ;

                                     0000    30 ; ENVIRONMENT:	USER MODE

                                     0000    31 ;

                                     0000    32 ; AUTHOR: PETER H. LIPMAN	, CREATION DATE: 14-DEC-76

                                     0000    33 ;

                                     0000    34 ; MODIFIED BY:

                                     0000    35 ;

                                     0000    36 ;  , VERSION  ,

                                     0000    37 ; 01	- 

                                     0000    38 ;--

FILERWIO        - FILEREAD IO MODULE                             21-AUG-1978 19:48:29   VAX-11 MACRO X0.3-11               Page   2

X0100                                                                                                                            (1)



                                     0000    40 ;

                                 00000000    41 	.PSECT	YFILEREAD,BYTE,EXE

                                     0000    42 

                                     0000    43 	.SBTTL	RDWRTLBN - READ/WRITE LOGICAL BLOCK NUMBER

                                     0000    44 ;++

                                     0000    45 ; FUNCTIONAL DESCRIPTION:

                                     0000    46 ;

                                     0000    47 ;	THIS ROUTINE READS/WRITES A DATA BLOCK FROM/TO THE SPECIFIED 

                                     0000    48 ; LOGICAL BLOCK NUMBER OF THE VOLUME ASSIGNED TO THE SPECIFIED CHANNEL

                                     0000    49 ;

                                     0000    50 ; CALLING SEQUENCE:

                                     0000    51 ;

                                     0000    52 ;	CALLG	ARGLIST,FIL$RDWRITLBN

                                     0000    53 ;

                                     0000    54 ; INPUT PARAMETERS:

                                     0000    55 ;

                                     0000    56 ;	CHAN(AP)	=		;CHANNEL ASSIGNED TO THE VOLUME TO READ

                                     0000    57 ;	LBN(AP)		=		;LOGICAL BLOCK NUMBER TO READ

                                     0000    58 ;	BUFADR(AP)	=		;ADDRESS OF BUFFER TO READ INTO

                                     0000    59 ;	IOFUNC(AP)	=		;I/O FUNCTION CODE

                                     0000    60 ;

                                     0000    61 ; IMPLICIT INPUTS:

                                     0000    62 ;

                                     0000    63 ;	NONE

                                     0000    64 ;

                                     0000    65 ; OUTPUT PARAMETERS:

                                     0000    66 ;

                                     0000    67 ;	R0 = SYSTEM STATUS CODE

                                     0000    68 ;

                                     0000    69 ; IMPLICIT OUTPUTS:

                                     0000    70 ;

                                     0000    71 ;	NONE

                                     0000    72 ;

                                     0000    73 ; COMPLETION CODES:

                                     0000    74 ;

                                     0000    75 ;	NONE

                                     0000    76 ;

                                     0000    77 ; SIDE EFFECTS:

                                     0000    78 ;

                                     0000    79 ;	NONE

                                     0000    80 ;

                                     0000    81 ; EQUATED SYMBOLS:

                                     0000    82 ;

                                     0000    83 ;    OFFSETS FROM AP

                                     0000    84 ;

                           00000004  0000    85 	CHAN		=	4	;CHANNEL TO WHICH VOLUME IS ASSIGNED

                           00000008  0000    86 	LBN		=	8	;LOGICAL BLOCK NUMBER

                           0000000C  0000    87 	BUFADR		=	12	;BUFFER ADDRESS TO READ INTO

                           00000010  0000    88 	IOFUNC		=	16	;FUNCTION CODE FOR THE QIO

                                     0000    89 ;

                                     0000    90 ;--

                                     0000    91 

                                     0000    92 FIL$RDWRTLBN::

                               0000  0000    93 	.WORD	0

            5E            08     C2  0002    94 	SUBL	#8,SP			;ALLOCATE AN IO STATUS BLOCK

            50            5E     D0  0005    95 	MOVL	SP,R0			;ADDRESS OF IO STATUS BLOCK

                                     0008    96 	$QIOW_S	CHAN=CHAN(AP),-		;CHANNEL

FILERWIO        - FILEREAD IO MODULE                             21-AUG-1978 19:48:29   VAX-11 MACRO X0.3-11               Page   3

X0100           RDWRTLBN - READ/WRITE LOGICAL BLOCK NUMBER                                                                       (1)



                                     0008    97 		FUNC=IOFUNC(AP),-	;I/O FUNCTION CODE

                                     0008    98 		IOSB=(R0),-		;ADDRESS OF I/O STATUS BLOCK

                                     0008    99 		P1=@BUFADR(AP),-	;BUFFER ADDRESS

                                     0008   100 		P2=#512,-		;NO. OF BYTE (1 BLOCKS WORTH)

                                     0008   101 		P3=LBN(AP)		;LOGICAL BLOCK NUMBER

            03            50     E9  002D   102 	BLBC	R0,10$			;BRANCH IF ERROR

            50            6E     3C  0030   103 	MOVZWL	(SP),R0			;STATUS CODE FROM I/O STATUS BLOCK

                                     0033   104 10$:

                                 04  0033   105 	RET

                                     0034   106  

                                     0034   107 	.END

FILERWIO        - FILEREAD IO MODULE                             21-AUG-1978 19:48:29   VAX-11 MACRO X0.3-11               Page   4

SYMBOL TABLE                                                                                                                     (1)



$$T1           = 00000001            

BUFADR         = 0000000C            

CHAN           = 00000004            

FIL$RDWRTLBN     00000000 RG    02   

IOFUNC         = 00000010            

LBN            = 00000008            

SYS$QIOW         ********   X   02   





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  

YFILEREAD        00000034      02     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

27476. BYTES LEFT IN FREE MEMORY POOL.

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

2 MLB DIR RDS - 48 GETS TO DEFINE 4 MACROS. 2 INTER. FILE WRITES. 

