TRDID	X0002 - READ INDEX FILE	MACRO M1110  21-AUG-78 21:21  PAGE 3





      1	000000					$BEGIN	TRDID,0002,<READ INDEX FILE DATA FROM TAPE>

						.TITLE	TRDID	X0002 - READ INDEX FILE DATA FROM TAPE

						.IDENT	"X0002"

      2

      3					;

      4					; COPYRIGHT (C) 1976 BY DIGITAL EQUIPMENT CORPORATION,

      5					; MAYNARD, MASSACHUSETTS

      6					;

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

      8					; SINGLE  COMPUTER  SYSTEM AND MAY BE COPIED ONLY WITH THE IN-

      9					; CLUSION OF THE ABOVE COPYRIGHT NOTICE.   THIS  SOFTWARE,  OR

     10					; ANY  OTHER  COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE

     11					; MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR  USE  ON  SUCH

     12					; SYSTEM  AND TO ONE WHO AGREES TO THESE LICENSE TERMS.  TITLE

     13					; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL  TIMES  REMAIN

     14					; IN DIGITAL.

     15					;

     16					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITH-

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

     18					; DIGITAL EQUIPMENT CORPORATION.

     19					;

     20					; DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY  FOR

     21					; THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS

     22					; NOT SUPPLIED BY DIGITAL.

     23					;

     24					; ANDREW C. GOLDSTEIN  13-AUG-76  3:40

TRDID	X0002 - READ INDEX FILE	MACRO M1110  21-AUG-78 21:21  PAGE 4





     26					;+

     27					;

     28					; *** - $TRDID	READ INDEX FILE DATA FOM TAPE

     29					;

     30					; THIS ROUTINE READS THE INDEX FILE DATA BLOCKS FROM THE INPUT TAPE.

     31					; R2 AND R3 ARE USED AS PSEUDO BLOCK NUMBERS TO CONTROL WHEN TO STOP.

     32					;

     33					; INPUTS:

     34					;

     35					;	INLUN ASSIGNED TO TAPE UNIT

     36					;	R2,R3 = "BLOCK NUMBER"

     37					;

     38					; OUTPUTS:

     39					;

     40					;	CC - C	CLEAR IF DATA READ

     41					;		SET IF NO MORE DATA

     42					;	R2,R3 = "BLOCK NUMBER" OF NEXT BLOCK

     43					;	R4 = $BUF2 CONTROL BLOCK

     44					;	DATA IN $BUF2

     45					;	OTHER REGISTERS CLOBBERED

     46					;

     47					;-

     48

     49	000000				$TRDID::

     50	000000					IF R2 EQ #377 AND R3 EQ #177777 THEN RETURN ERROR

     51	000020					$CALL $RDWAT <,#2048.+P.SIZ,,,#$B2HD> ; READ A BLOCK

     52	000034					ON.ERROR THEN ERROR ER.RID	; MESSAGE AND GET OUT

     53	000040					IF P.FLAG(R5) EQ #PF.DAT	; CHECK FOR DATA BLOCK

     54	000050					  IF P.FID(R5) EQ #1 AND P.FID+2(R5) EQ #1

     55	000070					    IF P.FID+4(R5) EQ $RVN

     56	000100					      LET R3 := P.VBN(R5)	; GET RETURN VBN

     57	000104					      LET R2 := P.VBN+2(R5)

     58	000110					      RETURN NOERROR

     59	000114					    END

     60	000114					  END

     61	000114					END

     62	000114					ERROR ER.TID			; DATA NOT PRESENT

     63

     64

     65

     66		000001 				.END

TRDID	X0002 - READ INDEX FILE	MACRO M1110  21-AUG-78 21:21  PAGE 4-1

SYMBOL TABLE



ER.RID= ****** GX	L2      000114R  	TYPS0 = 000000   	$L    = 000000   	$TRDID  000000RG

ER.TID= ****** GX	L3      000114R  	TYPS1 = 000000   	$L$   = 000000   	$T1   = 000000

IIII  = 177777   	L4      000114R  	TYPS2 = 000000   	$O$   = 000000   	$T2   = 000002

LBLS0 = 000002   	PF.DAT= ****** GX	$B2HD = ****** GX	$R    = 177777   	$Y$   = 000000

LBLS1 = 000003   	P.FID = ****** GX	$DIDDO= 000000   	$RDWAT= ****** GX	$Z$   = 000000

LBLS2 = 000004   	P.FLAG= ****** GX	$EF$  = 000000   	$RVN  = ****** GX	$$S   = 000000

L0      000020R  	P.SIZ = ****** GX	$E$   = 000001   	$SUPMC= 000043   	$$T   = 000001

L1      000040R  	P.VBN = ****** GX	$I$   = 000001   	$T    = 000005   	.$T   = 000005



. ABS.	000000	   000

      	000116	   001

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  11294 WORDS  ( 45 PAGES)

DYNAMIC MEMORY:  12276 WORDS  ( 47 PAGES)

ELAPSED TIME:  00:00:32

EXE$:TRDID,LIS$:TRDID/-SP=SRC$:SMAC/PA:1,DSCPRE,TRDID

