FORMAT	MACRO M1110  22-AUG-78 02:14

TABLE OF CONTENTS



     1-  300	OBJECT LANGUAGE DEFS

FORMAT	MACRO M1110  22-AUG-78 02:14  PAGE 1





    100						.TITLE	FORMAT

    200						.IDENT	/X0300/

    300						.SBTTL	OBJECT LANGUAGE DEFS

FORMAT	MACRO M1110  22-AUG-78 02:14  PAGE 3





      1					; COPYRIGHT (C) 1976, 1977

      2					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

      3					;

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

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

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

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

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

      9					; AND TO  ONE WHO AGREES  TO  THESE LICENSE  TERMS.  TITLE TO AND

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

     11					;

     12					; THE INFORMATION IN THIS SOFTWARE  IS  SUBJECT TO CHANGE WITHOUT

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

     14					; EQUIPMENT CORPORATION.

     15					;

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

     17					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

LIBRLH	MACRO M1110  22-AUG-78 02:14  PAGE 4





      1						.TITLE	LIBRLH

      2						.IDENT	/03/

      3

      4					; COPYRIGHT (C) 1976, 1977

      5					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

      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 INCLU-

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

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

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

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

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

     14					;

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

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

     17					; EQUIPMENT CORPORATION.

     18					;

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

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

     21					;

     22					; VERSION 03

     23					;

     24					; WRITTEN BY:

     25					;	GEORGE W. BERRY

     26					;

     27					; MODIFIED BY:

     28					;	C.A. D'ELIA	24-JUN-74

     29					;	THOMAS J. MILLER 07-NOV-74

     30					;			20-JUN-75 (WRITE END OF FILE IN FDB)

     31					;

     32					;

     33

     34					;

     35					; MACRO CALLS

     36					;

     37

     38						.MCALL	FCSBT$

     39	000000					FCSBT$

     40						.MCALL	FDOFF$

     41	000000					FDOFF$	DEF$L

     42

     43

     50

     51						.MCALL	GET$S

     52

     53

     55

     56

     57					;+

     58					; **-$RDLHD-READ LIBRARY HEADER

     59					;

     60					; THIS ROUTINE READS THE LIBRARY HEADER IN L$BUF.

     61					; AND VALIDATES HEADER CONTENTS.

     62					; INPUTS:

     63					;

     64					;	NONE

LIBRLH	MACRO M1110  22-AUG-78 02:14  PAGE 4-1





     65					;

     66					;

     67					; OUTPUTS:

     68					;

     69					;	R1=NEXT AVAILABLE BUFFER

     70					;

     71					;-

     72	000000				$RDLHD::SAVRG			;SAVE R3-R5

     73	000004					CALL	INIT		;POSITION FILE INITIALLY

     74	000010	012701 	000000G			MOV	#L$BUF,R1	;GET BUFFER ADDRESS

     75	000014	012760 	001000 	000020 		MOV	#512.,F.URBD(R0) ;INDICATE 512. BYTE BUFFER

     76	000022	012760 	001000 	000002 		MOV	#512.,F.RSIZ(R0) ;SET RECORD SIZE

     77

     78

     85

     86	000030					GET$S	R0,R1		;GET LIBRARY HEADER

     87

     88

     90

     91

     92	000040	103422 				BCS	ERROR		;FATAL READ ERROR

     93	000042	016760 	000000G	000012 		MOV	L$NX,F.EFBK+2(R0) ;TELL FCS WHERE THE END OF FILE IS

     94	000050	016760 	000002G	000014 		MOV	L$NX+2,F.FFBY(R0) ;

     95	000056	122721 	000000G			CMPB	#TY$,(R1)+	;VALIDATE HEADER RECORD.

     96	000062	103406 				BLO	10$		;BRANCH IF BAD TYPE CODE

     97	000064	122721 	000000G			CMPB	#ID$,(R1)+	;ID BYTE OK?

     98	000070	001003 				BNE	10$		;BRANCH IF NOT O.K.

     99	000072	062701 	000776 			ADD	#510.,R1	;PNT R1 TO NEXT BUFFER

    100	000076					RETURN

    101

    102	000100	012701 			10$:	MOV	(PC)+,R1	;BAD LIBRARY HEADER

    103	000102	   000G	   000G			.BYTE	E$R09,S$V2

    104	000104	000404 				BR	ERXIT

    105

    106	000106	012701 			ERROR:	MOV	(PC)+,R1	;CAN'T READ LIBRARY FILE

    107	000110	   000G	   000G			.BYTE	E$R01,S$V2

    108	000112	016002 	000000G		ERRNM:	MOV	R$NAME(R0),R2	;GIVE FILE NAME

    109	000116	000167 	000000G		ERXIT:	JMP	$ERMSG		;FATAL ERROR EXIT (NO RETURNS)

    110

    111

    112					;+

    113					;

    114					; THIS ROUTINE POSITIONS THE LIB FILE AT THE HEADER BLOCK.

    115					;

    116					; INPUTS:

    117					;

    118					;	NONE

    119					;

    120					; OUTPUTS:

    121					;

    122					;	R0 = $LIBPT

    123					;

    124					;-

    125	000122	016700 	000000G		INIT:	MOV	$LIBPT,R0

    126	000126	005760 	000070 			TST	F.BDB(R0)	;IS LIBRARY FILE ALREADY OPEN?

    127	000132	001006 				BNE	10$		;BRANCH IF SO

    131	000134					CALL	$OPEN		;OPEN LIBRARY FILE

LIBRLH	MACRO M1110  22-AUG-78 02:14  PAGE 4-2





    133	000140	103003 				BCC	10$		;BRANCH IF NO ERROR ON OPEN

    134	000142	012701 				MOV	(PC)+,R1	;OPEN ERROR

    135	000144	   000G	   000G			.BYTE	E$R11,S$V2

    136	000146	000761 				BR	ERRNM

    137	000150				10$:

    138	000150	112760 	000001 	000000 		MOVB	#R.FIX,F.RTYP(R0) ;SET TO FIXED LENGTH RECORDS

    139	000156	112760 	000010 	000001 		MOVB	#FD.BLK,F.RATT(R0) ;SET TO NOT CROSS BLOCK BOUNDRIES

    140	000164	005001 				CLR	R1

    141	000166	012702 	000001 			MOV	#1,R2		;POINT TO VIRTUAL BLOCK 1 TO

    142	000172	005003 				CLR	R3		;POINT TO START OF FILE

    143	000174					CALL	.POINT

    144	000200					RETURN

    145

    146

    147		000001 				.END

LIBRLH	MACRO M1110  22-AUG-78 02:14  PAGE 4-3

SYMBOL TABLE



CH.AND= 000001   	FD.TTY= 000004   	F.RACC= 000016   	NB.VER= 000001   	SF$UNI= 000004

CTLGRP= 000120   	FD.WBH= 000002   	F.RATT= 000001   	N.DID = 000024   	SF$VAL= 000020

EOM$MX= 000007   	FF.CHR= 000005   	F.RCNM= 000034   	N.DVNM= 000032   	SF$WK = 000001

ERRNM   000112R  	FF.NV = 000003   	F.RCTL= 000017   	N.FID = 000000   	SRF$MX= 000025

ERROR   000106R  	FF.POE= 000002   	F.RSIZ= 000002   	N.FNAM= 000006   	STAGRP= 000000

ERXIT   000116R  	FF.RWD= 000001   	F.RTYP= 000000   	N.FTYP= 000014   	STOGRP= 000024

E$OMAD  000003      012	FF.RWF= 000006   	F.SEQN= 000100   	N.FVER= 000016   	S$DNAM  000013      011

E$OMER  000001      012	FF.SPC= 000004   	F.SPDV= 000072   	N.NEXT= 000022   	S$DNLN  000012      011

E$OMPS  000002      012	FO.APD= 000106   	F.SPUN= 000074   	N.STAT= 000020   	S$DPSI  000005      011

E$R01 = ****** GX	FO.MFY= 000002   	F.STBK= 000036   	N.UNIT= 000034   	S$DVAL  000006      011

E$R09 = ****** GX	FO.RD = 000001   	F.UNIT= 000136   	OBJ$SL= 000000   	S$MXLN= 000017

E$R11 = ****** GX	FO.UPD= 000006   	F.URBD= 000020   	OB$DBG= 000004   	S$RNAM  000006      010

FA.APD= 000100   	FO.WRT= 000016   	F.VBN = 000064   	OB$EOM= 000003   	S$RNLN  000005      010

FA.CRE= 000010   	F.ACTL= 000076   	F.VBSZ= 000060   	OB$GSD= 000001   	S$SDTY  000002      007

FA.DLK= 001000   	F.ALOC= 000040   	GS$ARG= 000003   	OB$HDR= 000000   	S$SFL0  000003      007

FA.ENB= 100000   	F.BBFS= 000062   	GS$EPM= 000002   	OB$LNK= 000005   	S$SFL1  000004      007

FA.EXC= 002000   	F.BDB = 000070   	GS$PSC= 000000   	OB$TIR= 000002   	S$V2  = ****** GX

FA.EXT= 000004   	F.BGBC= 000057   	GS$SYM= 000001   	OPRGRP= 000062   	S$$LIB= 000000

FA.NSP= 000100   	F.BKDN= 000026   	G$SDTY  000001      005	O$BJTY  000000      002	S.FATT= 000016

FA.POS= 010000   	F.BKDS= 000020   	ID$   = ****** GX	PAGALI= 000011   	S.FDB = 000140

FA.RD = 000001   	F.BKEF= 000050   	INIT    000122R  	PAR$$$= 000000   	S.FNAM= 000006

FA.RWD= 004000   	F.BKP1= 000051   	L$BUF = ****** GX	PF$GBL= 000020   	S.FNB = 000036

FA.SEQ= 040000   	F.BKST= 000024   	L$NX  = ****** GX	PF$OVL= 000004   	S.FNBW= 000017

FA.SHR= 000040   	F.BKVB= 000064   	MAXALI= 000011   	PF$PIC= 000001   	S.FNTY= 000004

FA.TMP= 000020   	F.CHR = 000075   	MHD$MX= 000111   	PF$RD = 000200   	S.FTYP= 000002

FA.WCK= 020000   	F.CNTG= 000034   	MH$CPY= 000004   	PF$REL= 000010   	S.NFEN= 000020

FA.WRT= 000002   	F.DFNB= 000046   	MH$GTX= 000006   	PF$SHR= 000040   	TIRMAX= 000121

FD.BLK= 000010   	F.DSPT= 000044   	MH$LNM= 000001   	PF$UNI= 000002   	TY$   = ****** GX

FD.CCL= 000002   	F.DVNM= 000134   	MH$MHD= 000000   	PF$WRT= 000001   	T$CHAR= 000005

FD.COM= 020000   	F.EFBK= 000010   	MH$MTC= 000005   	PF$XEQ= 000100   	T$HEAD= 000000

FD.CR = 000002   	F.EFN = 000050   	MH$SRC= 000002   	PSD$MX= 000031   	T$SLEN= 000004

FD.DIR= 000010   	F.EOBB= 000032   	MH$TTL= 000003   	P$SALI  000002      006	T$SMBL= 000004

FD.FTN= 000001   	F.ERR = 000052   	MTC$MX= 000213   	P$SALO  000005      006	V$MEML= 000002

FD.F11= 040000   	F.FACC= 000043   	M$HDMS  000003      003	P$SFL0  000003      006	$     = 000000      012

FD.INS= 000010   	F.FFBY= 000014   	M$HDNM  000005      003	P$SFL1  000004      006	$ERMSG= ****** GX

FD.ISP= 002000   	F.FNAM= 000110   	M$HDSL  000002      003	P$SNAM  000012      006	$LIBPT= ****** GX

FD.MNT= 100000   	F.FNB = 000102   	M$HDST  000001      003	P$SNLN  000011      006	$OPEN = ****** GX

FD.OSP= 004000   	F.FTYP= 000116   	M$TCPN  000002      004	Q$$CMO= 000000   	$RDLHD  000000RG

FD.PLC= 000004   	F.FVER= 000120   	NB.DEV= 000200   	R$MXLN= 001000   	$SAVRG= ****** GX

FD.PRN= 000004   	F.HIBK= 000004   	NB.DIR= 000100   	R$NAME= ****** GX	$$    = 000001

FD.PSE= 010000   	F.LUN = 000042   	NB.NAM= 000004   	R$$11M= 000000   	$$S   = 000005

FD.RAH= 000001   	F.MBCT= 000054   	NB.SD1= 000400   	R.FIX = 000001   	$$0   = 000002

FD.RAN= 000002   	F.MBC1= 000055   	NB.SD2= 001000   	R.SEQ = 000003   	$$1   = 000002

FD.REC= 000001   	F.MBFG= 000056   	NB.SNM= 000040   	R.VAR = 000002   	.GETSQ= ****** G

FD.RWM= 000001   	F.NRBD= 000024   	NB.STP= 000020   	SDF$MX= 000032   	.POINT= ****** GX

FD.SDI= 000020   	F.NREC= 000030   	NB.SVR= 000010   	SF$DEF= 000002   	...GBL= 000000

FD.SQD= 000040   	F.OVBS= 000030   	NB.TYP= 000002   	SF$REL= 000010   	...TPC= 000140



. ABS.	000000	   000

      	000202	   001

OBJREC	000001	   002

MHDREC	000111	   003

MTCREC	000213	   004

GSDREC	000002	   005

PSDEF 	000031	   006

SYMBOL	000005	   007

SYMREF	000025	   010

LIBRLH	MACRO M1110  22-AUG-78 02:14  PAGE 4-4

SYMBOL TABLE



SYMDEF	000032	   011

EOMREC	000007	   012

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  2495 WORDS  ( 10 PAGES)

DYNAMIC MEMORY:  3828 WORDS  ( 14 PAGES)

ELAPSED TIME:  00:00:13

OBJ$:LIBRLH,LIS$:LIBRLH/-SP=SRC$:NEWFORMAT.,LIBPRE,LIBRLH

