FORMAT	MACRO M1110  22-AUG-78 02:13

TABLE OF CONTENTS



     1-  300	OBJECT LANGUAGE DEFS

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





    100						.TITLE	FORMAT

    200						.IDENT	/X0300/

    300						.SBTTL	OBJECT LANGUAGE DEFS

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

LIBOUT	MACRO M1110  22-AUG-78 02:13  PAGE 4





      1						.TITLE	LIBOUT

      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	07-JUL-74

     29					;

     30					;

     31

     32					;

     33					; LOCAL ASSIGNMENTS

     34					;

     35

     36		000012 			LF = 12				;LINE FEED CHARACTER CODE

     37

     38					;

     39					; MACRO CALLS

     40					;

     41

     42						.MCALL	FDOFF$,PUT$

     43	000000					FDOFF$	DEF$L

     44

     45					;+

     46					;

     47					; **-$OUT- INITIALIZE OUTPUT ROUTINE

     48					; **-$OUT1- MESSAGE OUTPUT ROUTINE

     49					;

     50					; THIS ROUTINE CONVERTS AND OUTPUTS A FORMATTED TEXT LINE.

     51					; FIRST CALL TO '$OUT', THEN CALLS TO '$OUT1'.  INITIALLY IT

     52					; SETS UP "$LIPTR" TO POINT TO THE START OF THE OUTPUT BUFFER,

     53					; AND "LIFDB" TO THE ADDRESS OF THE OUTPUT FDB.

     54					;

     55					; INPUTS:

     56					;

     57					;	FIRST CALL TO $OUT -- R0=FDB ADDRESS

LIBOUT	MACRO M1110  22-AUG-78 02:13  PAGE 4-1





     58					;	CALLS TO $OUT1 -- R1, R2 SET UP FOR CALL TO $EDMSG

     59					;

     60					; OUTPUTS:

     61					;

     62					;	R0,R1,R2  ARE LOST

     63					;

     64					;-

     65

     66

     67	000000					.PSECT	OUTBUF,D,GBL,OVR

     68

     69					;

     70					; LOCAL DATA BASE:

     71					;

     72	000000				LIFDB:	.BLKW	1		;POINTER TO OUTPUT FDB

     73	000002				$LIPTR::.BLKW	1		;LAST CHARACTER OUTPUT

     74	000004				LIBUF:	.BLKB	74.		;OUTPUT BUFFER

     75

     76

     77	000000					.PSECT

     78

     79						.ENABL	LSB

     80

     81	000000	010067 	000000'		$OUT::	MOV	R0,LIFDB	;SET UP FDB POINTER

     82	000004	012767 	000004'	000002'	20$:	MOV	#LIBUF,$LIPTR	;SAVE BUFFER ADDRESS

     83	000012				10$:	RETURN			;

     84	000014	016700 	000002'		$OUT1::	MOV	$LIPTR,R0	;OUTPUT BUFFER ADDRESS

     85	000020	032702 	000001 			BIT	#1,R2		;MUST FORCE R2 TO BE EVEN ...

     86	000024	001401 				BEQ	15$		;... WHENEVER WE CALL '$EDMSG'

     87	000026	010702 				MOV	PC,R2		;

     88	000030				15$:	CALL	$EDMSG		;FORMAT THE OUTPUT STRING

     89	000034	010067 	000002'			MOV	R0,$LIPTR	;SAVE NEXT CHAR ADDR

     90	000040	122740 	000012 			CMPB	#LF,-(R0)	;END OF LINE IN BUFFER?

     91	000044	001362 				BNE	10$		;BRANCH IF NOT A FULL LINE

     92	000046	162700 	000003'			SUB	#LIBUF-1,R0	;COMPUTE # OF CHARS TO OUTPUT

     93	000052	010001 				MOV	R0,R1		;USE R1 FOR COUNT

     94

     95

     97

     98

     99	000054	005767 	000000'			TST	LIFDB		;DO WE HAVE A VALID FDB ADDRESS?

    100	000060	001005 				BNE	30$		;SKIP IF TRUE

    101	000062	012700 	000004'			MOV	#LIBUF,R0	;ELSE, PUT BUFFER ADDR IN R0

    102	000066					CALL	$QIOMG		;SEND MESSAGE TO CMD OUTPUT (VIA QIO)

    103	000072	000411 				BR	40$		;BRANCH INTO COMMON CODE

    104	000074				30$:

    105

    107

    108

    109	000074					PUT$	LIFDB,#LIBUF,R1 ;OUTPUT THE STRING

    110	000116	103332 			40$:	BCC	20$

    111	000120	016002 	000000G			MOV	R$NAME(R0),R2

    112	000124	012701 				MOV	(PC)+,R1	;FATAL OUTPUT ERROR

    113	000126	   000G	   000G			.BYTE	E$R02,S$V2

    114	000130	000167 	000000G			JMP	$ERMSG		;FATAL -- ERROR EXIT

    115

    116					;

LIBOUT	MACRO M1110  22-AUG-78 02:13  PAGE 4-2





    117		000001 				.END

LIBOUT	MACRO M1110  22-AUG-78 02:13  PAGE 4-3

SYMBOL TABLE



CTLGRP= 000120   	F.LUN = 000042   	MH$LNM= 000001   	PF$PIC= 000001   	S$RNLN  000005      010

EOM$MX= 000007   	F.MBCT= 000054   	MH$MHD= 000000   	PF$RD = 000200   	S$SDTY  000002      007

E$OMAD  000003      012	F.MBC1= 000055   	MH$MTC= 000005   	PF$REL= 000010   	S$SFL0  000003      007

E$OMER  000001      012	F.MBFG= 000056   	MH$SRC= 000002   	PF$SHR= 000040   	S$SFL1  000004      007

E$OMPS  000002      012	F.NRBD= 000024   	MH$TTL= 000003   	PF$UNI= 000002   	S$V2  = ****** GX

E$R02 = ****** GX	F.NREC= 000030   	MTC$MX= 000213   	PF$WRT= 000001   	S$$LIB= 000000

F.ACTL= 000076   	F.OVBS= 000030   	M$HDMS  000003      003	PF$XEQ= 000100   	S.FATT= 000016

F.ALOC= 000040   	F.RACC= 000016   	M$HDNM  000005      003	PSD$MX= 000031   	S.FDB = 000140

F.BBFS= 000062   	F.RATT= 000001   	M$HDSL  000002      003	P$SALI  000002      006	S.FNAM= 000006

F.BDB = 000070   	F.RCNM= 000034   	M$HDST  000001      003	P$SALO  000005      006	S.FNB = 000036

F.BGBC= 000057   	F.RCTL= 000017   	M$TCPN  000002      004	P$SFL0  000003      006	S.FNBW= 000017

F.BKDN= 000026   	F.RSIZ= 000002   	N.DID = 000024   	P$SFL1  000004      006	S.FNTY= 000004

F.BKDS= 000020   	F.RTYP= 000000   	N.DVNM= 000032   	P$SNAM  000012      006	S.FTYP= 000002

F.BKEF= 000050   	F.SEQN= 000100   	N.FID = 000000   	P$SNLN  000011      006	S.NFEN= 000020

F.BKP1= 000051   	F.SPDV= 000072   	N.FNAM= 000006   	Q$$CMO= 000000   	TIRMAX= 000121

F.BKST= 000024   	F.SPUN= 000074   	N.FTYP= 000014   	R$MXLN= 001000   	T$CHAR= 000005

F.BKVB= 000064   	F.STBK= 000036   	N.FVER= 000016   	R$NAME= ****** GX	T$HEAD= 000000

F.CHR = 000075   	F.UNIT= 000136   	N.NEXT= 000022   	R$$11M= 000000   	T$SLEN= 000004

F.CNTG= 000034   	F.URBD= 000020   	N.STAT= 000020   	SDF$MX= 000032   	T$SMBL= 000004

F.DFNB= 000046   	F.VBN = 000064   	N.UNIT= 000034   	SF$DEF= 000002   	V$MEML= 000002

F.DSPT= 000044   	F.VBSZ= 000060   	OBJ$SL= 000000   	SF$REL= 000010   	$     = 000000      012

F.DVNM= 000134   	GS$ARG= 000003   	OB$DBG= 000004   	SF$UNI= 000004   	$EDMSG= ****** GX

F.EFBK= 000010   	GS$EPM= 000002   	OB$EOM= 000003   	SF$VAL= 000020   	$ERMSG= ****** GX

F.EFN = 000050   	GS$PSC= 000000   	OB$GSD= 000001   	SF$WK = 000001   	$LIPTR  000002RG    013

F.EOBB= 000032   	GS$SYM= 000001   	OB$HDR= 000000   	SRF$MX= 000025   	$OUT    000000RG

F.ERR = 000052   	G$SDTY  000001      005	OB$LNK= 000005   	STAGRP= 000000   	$OUT1   000014RG

F.FACC= 000043   	LF    = 000012   	OB$TIR= 000002   	STOGRP= 000024   	$QIOMG= ****** GX

F.FFBY= 000014   	LIBUF   000004R     013	OPRGRP= 000062   	S$DNAM  000013      011	$$    = 000001

F.FNAM= 000110   	LIFDB   000000R     013	O$BJTY  000000      002	S$DNLN  000012      011	$$S   = 000005

F.FNB = 000102   	MAXALI= 000011   	PAGALI= 000011   	S$DPSI  000005      011	$$0   = 000002

F.FTYP= 000116   	MHD$MX= 000111   	PAR$$$= 000067   	S$DVAL  000006      011	$$1   = 000002

F.FVER= 000120   	MH$CPY= 000004   	PF$GBL= 000020   	S$MXLN= 000017   	.PUT  = ****** G

F.HIBK= 000004   	MH$GTX= 000006   	PF$OVL= 000004   	S$RNAM  000006      010	...TPC= 000140



. ABS.	000000	   000

      	000134	   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

OUTBUF	000116	   013

ERRORS DETECTED:  0



VIRTUAL MEMORY USED:  2201 WORDS  ( 9 PAGES)

DYNAMIC MEMORY:  2772 WORDS  ( 10 PAGES)

ELAPSED TIME:  00:00:12

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

