FORMAT	MACRO M1110  22-AUG-78 02:11

TABLE OF CONTENTS



     1-  300	OBJECT LANGUAGE DEFS

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





    100						.TITLE	FORMAT

    200						.IDENT	/X0300/

    300						.SBTTL	OBJECT LANGUAGE DEFS

FORMAT	MACRO M1110  22-AUG-78 02:11  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.

LIBERO	MACRO M1110  22-AUG-78 02:11  PAGE 4





      1						.TITLE	LIBERO

      2						.IDENT	/X03.1/

      3

      4					; COPYRIGHT (C) 1976, 1977, 1978

      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 X03.1

     23					;

     24					;

     25					; WRITTEN BY:

     26					;	GEORGE W. BERRY

     27					;

     28					; MODIFIED BY:

     29					;	C.A. D'ELIA	16-JUN-74

     30					;	C.A. D'ELIA	02-JUL-74  (VIRTUAL TABLES)

     31					;	THOMAS J. MILLER 07-NOV-74

     32					;	THOMAS J. MILLER 24-SEP-75 (MOVE .ENDC IN .MCALL LIST)

     33					;	KATHLEEN D. MORSE 15-MAY-78 (RESET LIB ATTIBUTES TO 512. AND NO-SPAN)

     34					;

     35					;

     36					; ERROR MESSAGE OUTPUT ROUTINE

     37					;

     38

     39					;

     40					; MACRO LIBRARY CALLS

     41					;

     42

     43						.MCALL	FDOFF$

     44	000000					FDOFF$	DEF$L

     45						.MCALL	FCSBT$

     46	000000					FCSBT$	DEF$L

     47

     48						.MCALL	CLOSE$,RCML$

     49

     50

     51

     58

     59						.MCALL	FILIO$

     60	000000					FILIO$

     61						.MCALL	DRERR$

     62	000000					DRERR$

     63

LIBERO	MACRO M1110  22-AUG-78 02:11  PAGE 4-1





     64

     66

     67

     68						.MCALL	QIO$,WTSE$,DIR$,WSIG$S

     69

     70

     71

     73

     74

     75					;

     76					; DPB TO QUEUE I/O DIRECTLY TO COMMAND OUTPUT DEVICE

     77					;

     78

     79	000000				CMODPB:	QIO$	IO.WVB,$CMOLN,$QIOEF,,,,<,,0,,,> ;QUEUE I/O TO 'CMO'

     80

     81

     83

     84

     85					;

     86					; OTHER I/O RELATED DPB'S

     87					;

     88

     89		000002 			$QIOEF==2			;QUEUE I/O EVENT FLAG

     90

     91	000030				ATTDET:	QIO$	IO.ATT,$CMOLN,$QIOEF  ;DPB USED TO ATTACH/DETACH TTY'S

     92

     93	000060				QIOWT:	WTSE$	$QIOEF		;WAIT FOR QUEUE I/O EVENT FLAG

     94

     95

     96

     97

     98

     99					;

    100					; LOCAL MESSAGE

    101					;

    102

    103	000000					.PSECT	TXT

    104

    105	000000	   015 	   012 	   114 	ABTMSG:	.ASCII	<15><12>/LIB -- *FATAL*- RUN ABORTED/  ;ABORT MESSAGE

	000003	   111 	   102 	   040

	000006	   055 	   055 	   040

	000011	   052 	   106 	   101

	000014	   124 	   101 	   114

	000017	   052 	   055 	   040

	000022	   122 	   125 	   116

	000025	   040 	   101 	   102

	000030	   117 	   122 	   124

	000033	   105 	   104

    106		000035 			ABTLEN = .-ABTMSG

    107

    108

    109	000064					.PSECT

    110

    111

    112	000064				$EROUT::

    113

    114

LIBERO	MACRO M1110  22-AUG-78 02:11  PAGE 4-2





    121

    122	000064	012700 	000000G			MOV	#$OUTBF,R0	;SPECIFY BUFFER ADDRESS IN R0

    123	000070	010201 				MOV	R2,R1		;SPECIFY BYTE COUNT IN R1

    124	000072					CALL	$QIOMG		;SEND TO COMMAND OUTPUT (VIA QIO)

    125

    126

    128

    129

    130	000076	103404 				BCS	75$		;FATAL IF MESSAGE SEND FAILED

    131	000100	020427 	000000G			CMP	R4,#S$V2	;FATAL ERROR?

    132	000104	002001 				BGE	75$		;IF GE YES

    133	000106					RETURN			;

    134

    135	000110	105767 	000000G		75$:	TSTB	$ATTFG		;CHECK TTY ATTACHED FLAG

    136	000114	001402 				BEQ	76$		;SKIP IF NOT ATTACHED

    137	000116					CALL	$TTYDT		;ELSE, DETACH THE TELETYPE

    138	000122	016700 	000000G		76$:	MOV	$OPNFL,R0	;PNT R0 TO FDB OF (POSSIBLE) OPEN FILE

    139	000126	001402 				BEQ	77$		;IF NULL, THEN NONE OPEN

    140	000130					CLOSE$	R0		;ELSE, CLOSE FILE

    141	000134	016700 	000000G		77$:	MOV	$LIBPT,R0	;POINT R0 TO LIBRARY FDB

    142	000140	112760 	000001 	000000 		MOVB	#R.FIX,F.RTYP(R0) ;++KM01SET FIXED LENGTH RECORDS ATTRIBUTE

    143	000146	012760 	001000 	000002 		MOV	#512.,F.RSIZ(R0) ;++KM01SET 512 BYTE RECORDS

    144	000154	105060 	000001 			CLRB	F.RATT(R0)	;ALLOW SPANNING BLOCK BOUNDARIES

    145	000160					CLOSE$	R0		;CLOSE LIBRARY FILE

    146	000164					CLOSE$	$WRKPT		;CLOSE WORK FILE

    147	000174					RCML$	$CMIPT		;RESET TO ZERO LEVEL

    148	000204	000167 	000000G			JMP	$RSTRT		;GET NEXT COMMAND LINE

    149

    151

    152	000210	012702 	000000'		$QIOMG::MOV	#CMODPB,R2	;PUT DPB ADDRESS IN R2

    153	000214	010062 	000014 			MOV	R0,Q.IOPL(R2)	;SET BUFFER ADDRESS

    154	000220	010162 	000016 			MOV	R1,Q.IOPL+2(R2)	;SET BYTE COUNT

    155

    156

    158

    159

    160	000224				$QIO::	DIR$	R2		;INVOKE QUEUE I/O DIRECTIVE

    161	000230	103010 				BCC	10$		;SKIP ON SUCCESS

    162	000232	023727 	000000G	177777 		CMP	@#$DSW,#IE.UPN	;FAIL -- WAS DYNAMIC MEMORY UNAVAILABLE?

    163	000240	001007 				BNE	20$		;ERROR IF SOMETHING ELSE

    164	000242					WSIG$S			;ELSE, WAIT FOR MEMORY TO BECOME FREE

    165	000250	000765 				BR	$QIO		;AND TRY IT AGAIN

    166	000252				10$:	DIR$	#QIOWT		;WAIT FOR I/O DONE

    167	000260	006137 	000000G		20$:	ROL	@#$DSW		;USE DIRECTIVE STATUS TO SET C-BIT

    168	000264					RETURN			;AND RETURN

    169

    170

    171						.ENABL	LSB

    172

    173	000266	110067 	000001G		$TTYAT::MOVB	R0,$ATTFG+1	;SAVE TELETYPE LUN

    174	000272	105267 	000000G			INCB	$ATTFG		;SET TTY ATTACHED FLAG

    175	000276	012767 	001400 	177526 		MOV	#IO.ATT,ATTDET+Q.IOFN  ;SPECIFY ATTACH FUNCTION

    176	000304	000405 				BR	10$		;BRANCH INTO COMMON CODE

    177

    178	000306	105067 	000000G		$TTYDT::CLRB	$ATTFG		;CLEAR TTY ATTACHED FLAG

    179	000312	012767 	002000 	177512 		MOV	#IO.DET,ATTDET+Q.IOFN  ;SPECIFY DETACH FUNCTION

    180	000320	012702 	000030'		10$:	MOV	#ATTDET,R2	;PUT DPB ADDRESS IN R2

LIBERO	MACRO M1110  22-AUG-78 02:11  PAGE 4-3





    181	000324	116762 	000001G	000004 		MOVB	$ATTFG+1,Q.IOLU(R2)  ;SPECIFY TTY LUN IN DPB

    182	000332	000734 				BR	$QIO		;QUEUE THE I/O REQUEST AND RETURN

    183

    184						.DSABL	LSB

    185

    186

    187

    188

    189		000001 				.END

LIBERO	MACRO M1110  22-AUG-78 02:11  PAGE 4-4

SYMBOL TABLE



ABTLEN= 000035   	FO.WRT= 000016   	IE.AST= 177660   	IO.UNL= 000042   	PF$OVL= 000004

ABTMSG  000000R     013	F.ACTL= 000076   	IE.CKP= 177766   	IO.WAT= 013400   	PF$PIC= 000001

ATTDET  000030R  	F.ALOC= 000040   	IE.FIX= 177767   	IO.WLB= 000400   	PF$RD = 000200

CH.AND= 000001   	F.BBFS= 000062   	IE.HWR= 177772   	IO.WVB= 011000   	PF$REL= 000010

CMODPB  000000R  	F.BDB = 000070   	IE.IBS= 177647   	IQ.Q  = 000002   	PF$SHR= 000040

CTLGRP= 000120   	F.BGBC= 000057   	IE.IDU= 177644   	IQ.S  = 000004   	PF$UNI= 000002

EOM$MX= 000007   	F.BKDN= 000026   	IE.IEF= 177637   	IQ.UMD= 000004   	PF$WRT= 000001

E$OMAD  000003      012	F.BKDS= 000020   	IE.ILU= 177640   	IQ.X  = 000001   	PF$XEQ= 000100

E$OMER  000001      012	F.BKEF= 000050   	IE.ILV= 177755   	IS.CLR= 000000   	PSD$MX= 000031

E$OMPS  000002      012	F.BKP1= 000051   	IE.INS= 177776   	IS.SET= 000002   	P$SALI  000002      006

FA.APD= 000100   	F.BKST= 000024   	IE.IOP= 177655   	IS.SPD= 000002   	P$SALO  000005      006

FA.CRE= 000010   	F.BKVB= 000064   	IE.IPR= 177641   	MAXALI= 000011   	P$SFL0  000003      006

FA.DLK= 001000   	F.CHR = 000075   	IE.ITI= 177643   	MHD$MX= 000111   	P$SFL1  000004      006

FA.ENB= 100000   	F.CNTG= 000034   	IE.ITP= 177650   	MH$CPY= 000004   	P$SNAM  000012      006

FA.EXC= 002000   	F.DFNB= 000046   	IE.ITS= 177770   	MH$GTX= 000006   	P$SNLN  000011      006

FA.EXT= 000004   	F.DSPT= 000044   	IE.IUI= 177645   	MH$LNM= 000001   	QIOWT   000060R

FA.NSP= 000100   	F.DVNM= 000134   	IE.LNL= 177646   	MH$MHD= 000000   	Q$$CMO= 000000

FA.POS= 010000   	F.EFBK= 000010   	IE.MAP= 177657   	MH$MTC= 000005   	Q.IOAE= 000012

FA.RD = 000001   	F.EFN = 000050   	IE.NSW= 177756   	MH$SRC= 000002   	Q.IOEF= 000006

FA.RWD= 004000   	F.EOBB= 000032   	IE.NVR= 177652   	MH$TTL= 000003   	Q.IOFN= 000002

FA.SEQ= 040000   	F.ERR = 000052   	IE.NVW= 177651   	MTC$MX= 000213   	Q.IOLU= 000004

FA.SHR= 000040   	F.FACC= 000043   	IE.PNS= 177642   	M$HDMS  000003      003	Q.IOPL= 000014

FA.TMP= 000020   	F.FFBY= 000014   	IE.PRI= 177760   	M$HDNM  000005      003	Q.IOPR= 000007

FA.WCK= 020000   	F.FNAM= 000110   	IE.PTS= 177775   	M$HDSL  000002      003	Q.IOSB= 000010

FA.WRT= 000002   	F.FNB = 000102   	IE.RBS= 177761   	M$HDST  000001      003	R$MXLN= 001000

FD.BLK= 000010   	F.FTYP= 000116   	IE.RSU= 177757   	M$TCPN  000002      004	R$$11M= 000000

FD.CCL= 000002   	F.FVER= 000120   	IE.SDP= 177635   	NB.DEV= 000200   	R.FIX = 000001

FD.COM= 020000   	F.HIBK= 000004   	IE.TCH= 177765   	NB.DIR= 000100   	R.SEQ = 000003

FD.CR = 000002   	F.LUN = 000042   	IE.ULN= 177773   	NB.NAM= 000004   	R.VAR = 000002

FD.DIR= 000010   	F.MBCT= 000054   	IE.UNS= 177774   	NB.SD1= 000400   	SDF$MX= 000032

FD.FTN= 000001   	F.MBC1= 000055   	IE.UPN= 177777   	NB.SD2= 001000   	SF$DEF= 000002

FD.F11= 040000   	F.MBFG= 000056   	IE.WOV= 177653   	NB.SNM= 000040   	SF$REL= 000010

FD.INS= 000010   	F.NRBD= 000024   	IO.ACE= 007400   	NB.STP= 000020   	SF$UNI= 000004

FD.ISP= 002000   	F.NREC= 000030   	IO.ACR= 006400   	NB.SVR= 000010   	SF$VAL= 000020

FD.MNT= 100000   	F.OVBS= 000030   	IO.ACW= 007000   	NB.TYP= 000002   	SF$WK = 000001

FD.OSP= 004000   	F.RACC= 000016   	IO.APC= 014000   	NB.VER= 000001   	SRF$MX= 000025

FD.PLC= 000004   	F.RATT= 000001   	IO.APV= 014010   	N.DID = 000024   	STAGRP= 000000

FD.PRN= 000004   	F.RCNM= 000034   	IO.ATT= 001400   	N.DVNM= 000032   	STOGRP= 000024

FD.PSE= 010000   	F.RCTL= 000017   	IO.CLN= 003400   	N.FID = 000000   	S$DNAM  000013      011

FD.RAH= 000001   	F.RSIZ= 000002   	IO.CRE= 012000   	N.FNAM= 000006   	S$DNLN  000012      011

FD.RAN= 000002   	F.RTYP= 000000   	IO.DAC= 010000   	N.FTYP= 000014   	S$DPSI  000005      011

FD.REC= 000001   	F.SEQN= 000100   	IO.DEL= 012400   	N.FVER= 000016   	S$DVAL  000006      011

FD.RWM= 000001   	F.SPDV= 000072   	IO.DET= 002000   	N.NEXT= 000022   	S$MXLN= 000017

FD.SDI= 000020   	F.SPUN= 000074   	IO.ENA= 006000   	N.STAT= 000020   	S$RNAM  000006      010

FD.SQD= 000040   	F.STBK= 000036   	IO.EXT= 011400   	N.UNIT= 000034   	S$RNLN  000005      010

FD.TTY= 000004   	F.UNIT= 000136   	IO.FNA= 004400   	OBJ$SL= 000000   	S$SDTY  000002      007

FD.WBH= 000002   	F.URBD= 000020   	IO.KIL= 000012   	OB$DBG= 000004   	S$SFL0  000003      007

FF.CHR= 000005   	F.VBN = 000064   	IO.LOV= 001010   	OB$EOM= 000003   	S$SFL1  000004      007

FF.NV = 000003   	F.VBSZ= 000060   	IO.LTK= 000050   	OB$GSD= 000001   	S$V2  = ****** GX

FF.POE= 000002   	GS$ARG= 000003   	IO.RAT= 013000   	OB$HDR= 000000   	S$$LIB= 000000

FF.RWD= 000001   	GS$EPM= 000002   	IO.RDN= 000022   	OB$LNK= 000005   	S.FATT= 000016

FF.RWF= 000006   	GS$PSC= 000000   	IO.RLB= 001000   	OB$TIR= 000002   	S.FDB = 000140

FF.SPC= 000004   	GS$SYM= 000001   	IO.RNA= 005400   	OPRGRP= 000062   	S.FNAM= 000006

FO.APD= 000106   	G$SDTY  000001      005	IO.RTK= 000060   	O$BJTY  000000      002	S.FNB = 000036

FO.MFY= 000002   	IE.ACT= 177771   	IO.RVB= 010400   	PAGALI= 000011   	S.FNBW= 000017

FO.RD = 000001   	IE.ADP= 177636   	IO.SET= 000030   	PAR$$$= 000067   	S.FNTY= 000004

FO.UPD= 000006   	IE.ALG= 177654   	IO.ULK= 005000   	PF$GBL= 000020   	S.FTYP= 000002

LIBERO	MACRO M1110  22-AUG-78 02:11  PAGE 4-5

SYMBOL TABLE



S.NFEN= 000020   	W.TSEF= 000002   	$LIBPT= ****** GX	$TTYAT  000266RG 	$$$OST= 000004

TIRMAX= 000121   	$     = 000000      012	$OPNFL= ****** GX	$TTYDT  000306RG 	$$0   = 000002

T$CHAR= 000005   	$ATTFG= ****** GX	$OUTBF= ****** GX	$WRKPT= ****** GX	$$1   = 000002

T$HEAD= 000000   	$CMIPT= ****** GX	$QIO    000224RG 	$$    = 000001   	.CLOSE= ****** G

T$SLEN= 000004   	$CMOLN= ****** GX	$QIOEF= 000002 G 	$$MSG = 000000   	.GCML2= ****** G

T$SMBL= 000004   	$DSW  = ****** GX	$QIOMG  000210RG 	$$S   = 000005   	...GBL= 000000

V$MEML= 000002   	$EROUT  000064RG 	$RSTRT= ****** GX	$$$ARG= 000000   	...TPC= 000140



. ABS.	000000	   000

      	000334	   001

OBJREC	000001	   002

MHDREC	000111	   003

MTCREC	000213	   004

GSDREC	000002	   005

PSDEF 	000031	   006

SYMBOL	000005	   007

SYMREF	000025	   010

SYMDEF	000032	   011

EOMREC	000007	   012

TXT   	000035	   013

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  3546 WORDS  ( 14 PAGES)

DYNAMIC MEMORY:  4884 WORDS  ( 18 PAGES)

ELAPSED TIME:  00:00:23

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

