Google
 

Trailing-Edge - PDP-10 Archives - BB-H580E-SB_1985 - comuni.unv
There are 15 other files named comuni.unv in the archive. Click here to see a list.
x
,5$@P C;uP E'P E2\I@ 
5@S/
]
	IFNB	<
5pA>,<A::>
	BLOCK	B
:>
	BLOCKUjS(1E2\I[ 
6PS@
](
	IFNB	<
7A>,<A::>
	IFN	
7 B,<IFB	<C>,<BLOC
7@K	B>
		    IFNB
7`	<C>,<REPEAT	B,
8<
					C>>
		>
				C>>
		>UkS11G3YQ @G3[Q G>l: 
S@U0
	IFG	A-
S`COMSIZ,<
	XXX.==
TA-COMSIZ
  DEFI
T NE PEXCS(OVRFLO),
T@<
	PRINTX	?COMSI
T`Z EXCEEDED BY 'OV
URFLO (OCTAL) WORD
U S - REGENERATE TH
U@E COMPILER
   >
U`
	PEXCS(\XXX.)
>
V;END IFG A-COMSIZ
IFG A-COMSIG>n:=P pI
n0P I4.: 	x P

IFNDEF	x@ .BITST,<	.BITST=	x`=0>	;START AT 0
	y
IF1,<			;ALL TH	y IS STUFF HAPPENS 	y@ONLY IN PASS 1
	y`
;ERROR CHECKS
I	zFDEF YA,<	PRINTX	z  ?A ALREADY DEFI	z@NED WITH DEFBYT
	z`	>

IFG <.BITST	{+B-^D36>,< PRINT	{ X ?DEFBYT: A DOE	{@S NOT FIT IN WORD	{`>
; END OF ERROR	| CHECKS

;DEFIN	| E YA TO BE THE W	|@ORD C
	YA==C

	DFENDP==B+.B	}ITST-1	;END POSIT	} ION

;COMPUTE F	}@LAGS
	DFBF==DFB.	}`BT		;ASSUME BYTE 	~INSTRUCTION NEEDE	~ D
IFE B-^D36,<
	DFBF==DFB.FW> ;	~`FULL WORD
IFE B	-^D18,<
	IFE DFE	 NDP-^D17,<
	DFBF	@==DFB.LH>		;LEFT 	`HALF-WORD INSTRUC
TION NEEDED
	IFE
  DFENDP-^D35,<
	
@DFBF==DFB.RH>		;R
`IGHT HALF-WORD IN
STRUCTION NEEDED
 
	>

	XA==<DFB
@F>B21+B,,DFENDP
`

	.BITST==B+.B
ITST

IFE <.BIT
 ST-^D36>,<.BITST=
@=0>	;.BITST IS NE
`W STARTING POSITION
>;END IF1
IhZP Ii[P IkP IlTP I' 
E T:
	ADR==HI
[email protected]	
	DEFINE	DI
E`SEL%	(N%)	<
	N%=
F:ADR		
	ADR==ADR
F +1
	>
	DEFINE	D
F@STBL%	(NAM,IR)	<D
F`ISEL%	(NAM)>

	
GDISTB%				

	PU
G RGE	DISEL%,DSTBL%,ADR
L%,DSTBL%I'HB 	: O>

	DISEL	:@%	C.RSET
	DISEL%	:`	STOPR.
	DISEL%		;C.STOP
	DISEL%	K	; ILL.
	DISEL%	GOT	;@O.
	DISEL%	TODAY	;`.
	DISEL%	KDECL.	<
	DISEL%	KPROG.
	DISEL%	DSP.FP
	<@	DISEL%	LINE.C
		<`DISEL%	LINE.D
	D	=ISEL%	LINE.H
	DI	= SEL%	LIN.RH
	DIS	=@EL%	CANCL.
IFN A	=`NS74,<
	DISEL%	S	>.CALL
>
	DISEL%	> 	M.INIT
	DISEL%		>@M.RMW
	DISEL%	M.	>`RSW
	DISEL%	M.RM	?NW
	DISEL%	M.RSN	? W
	DISEL%	M.SEND	?@
	DISEL%	M.AC
		?`DISEL%	M.IFM
	DI	@SEL%	M.DI
	DISEL	@ %	M.DIT
	DISEL%		@@M.DO
	DISEL%	M.E	@`I
	DISEL%	M.EIT
	DISEL%	M.EO
	D	A ISEL%	STR.
	DISE	A@L%	STR.O
	DISEL%	A`	UNS.
	DISEL%	UN	BS.O
	DISEL%	FUNC	B T.
	DISEL%	FIX.
	DISEL%	PERF.
		B`DISEL%	FLOT.1
	D	CISEL%	FLOT.2
	DI	C SEL%	PD6.
	DISEL	C@%	PD7.
	DISEL%	G	C`D6.
	DISEL%	GD7.	D
	DISEL%	NEG.
		D DISEL%	MAG.
	DIS	D@EL%	ADD.12
	DISE	D`L%	ADD.21
	DISEL	E%	ADD.22
	DISEL%	E 	SUB.12
	DISEL%		[email protected]
	DISEL%	S	E`UB.22
	DISEL%	MU	FL.12
	DISEL%	MUL	F .21
	DISEL%	MUL.	F@22
	DISEL%	DIV.1	F`1
	DISEL%	DIV.12	G
	DISEL%	DIV.21
	DISEL%	DIV.22
	G@	DISEL%	C.OPEN
		G`DISEL%	C.CLOS
	D	HISEL%	DSPLY.
	DI	H SEL%	ACEPT.
	DIS	H@EL%	READ.
	DISEL	H`%	WRITE.
	DISEL%	I	WADV.
IFN ANS68	I ,<DISEL%	SEEK.>
	I@IFN ANS74,<DISEL%	I`	RDNXT.>
	DISEL%	J	DELET.
	DISEL%		J RERIT.
	DISEL%	P	J@URGE.
	DISEL%	IN	J`IT.
	DISEL%	TERM	K.
	DISEL%	COMP.
	DISEL%	CMP.76
	K@	DISEL%	SPAC.6
		K`DISEL%	NUM.6
	DI	LSEL%	ALF.6
	DISE	L L%	ZERO.6
	DISEL	L@%	POS.6
	DISEL%		L`NEG.6
	DISEL%	SP	MAC.7
	DISEL%	NUM	M .7
	DISEL%	ALF.7	M@
	DISEL%	ZERO.7
	DISEL%	POS.7
		NDISEL%	NEG.7
	DI	N SEL%	COMP.D
	DIS	N@EL%	DBMS.
	DISEL	N`%	MOVE.
	DISEL%		OLFENQ.
	DISEL%	L	O RENQ.
	DISEL%	LR	O@DEQ.
	DISEL%	C.D	O`6D7
	DISEL%	C.D7	PD6
	DISEL%	CMP.E	P 
	DISEL%	CMP.G
	P@	DISEL%	CMP.GE
		P`DISEL%	CMP.L
	DI	QSEL%	CMP.LE
	DIS	Q EL%	CMP.N
	DISEL	Q@%	EDIT.S
	DISEL%	Q`	EDIT.U
IFN ANS6	R8,<
	DISEL%	EXAM	R .
>
IFN ANS74,<	R@
	DISEL%	INSP.
	R`>
	DISEL%	SUBSC.	S
	DISEL%	SIZE.1
	DISEL%	SIZE.2
	S@	DISEL%	SIZE.3
		S`DISEL%	E.C3C1
	D	TISEL%	E.C3C3
	DI	T SEL%	OVLAY.
	DIS	T@EL%	C.EXIT
	DISE	T`L%	ARGS.
	DISEL%	U	PUTF.
	DISEL%	R	U ESF.
	DISEL%	GET	U@NM.
	DISEL%	ILLC	U`.
	DISEL%	C.D6D9	V
	DISEL%	C.D7D9
	DISEL%	C.D9D6
	V@	DISEL%	C.D9D7
		V`DISEL%	PC3.
	DIS	WEL%	PD9.
	DISEL%	W 	GC3.
	DISEL%	GD	W@9.
	DISEL%	POS.9	W`
	DISEL%	NEG.9
	X	DISEL%	ZERO.9
		X DISEL%	ALF.9
	DI	X@SEL%	NUM.9
	DISE	X`L%	ALF.9
	DISEL%	Y	SPAC.9
	DISEL%		Y CMP.96
	DISEL%	C	[email protected]
	DISEL%	ED	Y`IT.B
	DISEL%	RST	ZAB.
	DISEL%	ZERC	Z .6
	DISEL%	ZERC.	Z@7
	DISEL%	ZERC.9	Z`
IFN ANS74,<
	D	[ISEL%	C.STRT
	DI	[ SEL%	DATE.
	DISE	[@L%	DAY.
	DISEL%		[`TIME.
>

	DSTB	\L%	USRTB.,15

	\ 

	DISEL%	DSPL.6	\@
	DISEL%	DSPL.7

	DISEL%	SUBE1.	]
	DISEL%	SUBE2.
	DISEL%	SUBE3.
	]@	DISEL%	EXIT.E
I	]`FN BIS,<
	DISEL%	^	XTND.E
	DISEL%		^ ALP.66
	DISEL%	A	^@LP.67
	DISEL%	AL	^`P.69
	DISEL%	ALP	_.76
	DISEL%	ALP.	_ 77
	DISEL%	ALP.7	_@9
	DISEL%	ALP.96	_`
	DISEL%	ALP.97
	DISEL%	ALP.99
	` 	DISEL%	ALPS.6
		`@DISEL%	ALPS.7
	D	``ISEL%	ALPS.9
	DI	aSEL%	NUM.66
	DIS	a EL%	NUM.67
	DISE	a@L%	NUM.69
	DISEL	a`%	NUM.76
	DISEL%	b	NUM.77
	DISEL%		b NUM.79
	DISEL%	N	[email protected]
	DISEL%	NU	b`M.97
	DISEL%	NUM	c.99
	DISEL%	CVTD	c B.
	DISEL%	CBDOV	c@.
	DISEL%	CVBD.6	c`
	DISEL%	CVBD.7
	DISEL%	CVBD.9
	d 	DISEL%	MUL.41
		d@DISEL%	MUL.42
	D	d`ISEL%	DIV.41
	DI	eSEL%	DIV.42
	DIS	e EL%	DVI41.
	DISE	e@L%	DVI42.
>;END 	e`IFN BIS
	DISEL%		fKEY.
IFN TOPS20,	f <
	DISEL%	PSORT.	f@
	DISEL%	PMERG.
	DISEL%	RELES.
	g	DISEL%	MERGE.
		g DISEL%	MCLOS.
	D	g@ISEL%	RETRN.
	DI	g`SEL%	ENDS.
>

	h
IFN BIS,<
	DIS	h EL%	ADD.4R
>;END	h@ IFN BIS
IFN TCS	h`,<
	DISEL%	MBIND	i
	DISEL%	MNAME
	i >
	DISEL%	MVD.AL	i@
	DISEL%	NUM.3
	i`	DISEL%	WADVV.
		jDISEL%	WRITV.

	j 
	DISEL%	METER.
IFN BIS,<			;[55	j`4] QUAD-WORD SIZE	k ERROR ROUTINES
	k 	DISEL%	SIZE.4
		k@DISEL%	SIZE.5
>;	k`END IFN BIS			;[5	l54]
	DISEL%	FLT.	l 12
	DISEL%	FLT.2	l@2
	DISEL%	FIX.2
	DISEL%	E.F2D1
	m	DISEL%	E.F2D2
		m DISEL%	E.F2FP
	D	m@ISEL%	E.F2F2
	DI	m`SEL%	PPOT4.
	DIS	nEL%	ISBPS.
	DISE	n L%	MROUT.
				;[	n@621] (MUST BE PRE	n`SENT IN ALL FLAVO	oRS OF LIBOL)
;V1	o 2B RMS ENTRY POIN	o@TS
IFN ANS74,<
	o`	DISEL%	OP.MIX
		pDISEL%	CL.MIX
	D	p ISEL%	WT.MIR
	DI	p@SEL%	WT.MIS
	DIS	p`EL%	RD.MIR
	DISE	qL%	RD.MIS
	DISEL	q %	DL.MIR
	DISEL%	q@	DL.MIS
	DISEL%		q`RW.MIR
	DISEL%	R	rW.MIS
	DISEL%	ST	r .MEQ
	DISEL%	ST.	r@MGT
	DISEL%	ST.M	r`NL
>;END IFN ANS	s74

	DISEL%	%ST	s R.
	DISEL%	%STR.	s@O
	DISEL%	%UNS.
	DISEL%	%UNS.O
	tIFN ANS74,<
	DIS	t EL%	SWT.ON
	DISE	t@L%	SWT.OF
	DISEL	t`%	CMP.67
	DISEL%	u	CMP.69
	DISEL%		u CMP.79
	DISEL%	C	[email protected]
	DISEL%	CO	u`MP.7
	DISEL%	COM	vP.9
	DISEL%	SU.S	v 69
	DISEL%	SU.S7	v@9
	DISEL%	SU.S97	v`
>
IFN ANS74,<
IFN BIS,<
	DISE	w L%	CVDBT.
	DISEL	w@%	CVDBL.
>;END I	w`FN BIS
>;END IFN ANS74

D IFNK:$IH 

 PX
PRINTX %

@ ENDDFB: THERE AR

`E A BITS STILL U
NASSIGNED BY "DEFBYT"
D BY "DEFK:$IQ 
PN
IF1,<
I
 FN .BITST,<
	.BI
@TLFT==^D36-.BITST
`	;COMPUTE # OF FR
EE BITS
	RADIX 1
 0		;MAKE IT COME 
@OUT IN DECIMAL.

`	ENDDF1 (\.BITLFT
	)	;CALL MACRO TO 
	 PRINT NUMBER
	RA
	@DIX 8			;BACK TO 
	`OCTAL
>
>;END IF1

>
>;END IM&t.: 
`P4
IF1,<
	
.BITST==0	; Reset
  bit position to 
@0
>; END if1	

>; END if1	
M'Em6P	Q$u|SP$Q$v
BT&
	
	DEFI
B NE	SYMH%%	(N%,V)	
B@<N%==:0>	
	DEFIN
B`E	SYML%%	(N%,V)	<
CSYM%%	N%,V>	
	DE
C FINE	ELMT%%	(N%,L
C@<1>,V)	<BLKDFV	N%
C`,L,<V>>	

	RELO
DC	0
	CHK==.

	
D %LOSEG

	COMCHK
D@	.-CHK		

	PURG
D`E	SYML%%,SYMH%%,ELMT%%
SYMH%%,ES:4*b 0B
	ELMT%%	PFILES.
	ELMT%%	UpSES.
	ELMT%%	SEGWD.
	ELMT%%	ALTE0R.
	ELMT%%	OVRFNP.
	ELMT%%	POINT.p
	ELMT%%	COMMA.
	ELMT%%	MONEY.
 0	ELMT%%	MEMRY.
	 PELMT%%	%NM.
	ELM pT%%	%DT.
	ELMT%%!	%PR.
	ELMT%%	CO!0BVR.
	ELMT%%	COB!PSW.
	ELMT%%	PUSH!pL.
	ELMT%%	SURRT".
	ELMT%%	SUEQT."0
	ELMT%%	SUFBT.
 IFN ANS74,<
	E"pLMT%%	%DB.
 >
MT%%	%DB.
 >
S:5 
V@UH
	INC==0	
V`	
	DEFINE	ELMT%%
W	(N%,L<1>,V)	<
	
W IFNB	<N%>,<%'N%==
W@:INC>
	INC==INC+
W`1
	>
	DEFINE	SY
XML%%	(N%,L<1>,V)	
X <
	IFNB	<N%>,<%'
X@N%==:INC>
	>
	I
X`NFBK%

	PURGE	E
YLMT%%,SYML%%,INC

,SYML%%,INCKN
	ELMT%%	TUEBLK.,4
	ELMT%%T 	ULBLK.,4
	ELMT%T@%	TTOBP.,1
	ELMTT`%%	TTOBC.,1
	ELMUT%%	TTOBF.,^D27
U 	ELMT%%	STDLB.,16U@

	ELMT%%	RRFLGU`.,1
	ELMT%%	REDMVP.,1
	ELMT%%	SHRV DX.,1
	ELMT%%	TEV@MP.,1
	ELMT%%	TEV`MP.1,1
	ELMT%%	JWSARR.,1
	ELMT%%	W TEMP.2,1
	ELMT%%W@	AINFO.,1
	ELMT%W`%	OVRBF.,3
	ELMTX%%	FLDCT.,1
	ELMX T%%	OVRIX.,1
	ELX@MT%%	NOCR.,1
	ELX`MT%%	PRGFLG,1
	EYLMT%%	TTYOPN,1
Y 
	ELMT%%	ACSAV0,1Y@7
	ELMT%%	MXIE,1Y`
	ELMT%%	IESAVE,Z1
	ELMT%%	MXBUF,Z 1
	ELMT%%	AUXBUFZ@,1
	ELMT%%	AUXIOZ`W,1
	ELMT%%	AUXB[NO,1
	ELMT%%	CMD[ LST,2
	ELMT%%	NE[@WBK1,1
	ELMT%%	N[`EWBK2,1
	ELMT%%	\OLDBK,1
	ELMT%%	\ MXBF,1
	ELMT%%	D\@RTAB,1
	ELMT%%	L\`RWA,1
	ELMT%%	CO]RPT.,1
	ELMT%%	H] LOTC.,1
	ELMT%%	]@OTCPT.,1
	ELMT%%]`	RUN.TM,1

	ELM^T%%	CB.DDT,1
	EL^ MT%%	SBPSA.,1
	E^@LMT%%	%F.PTR,1
^`
	ELMT%%	INTBLK,4_


	ELMT%%	FS._ ZRO,1
	ELMT%%	FS[email protected],1
	ELMT%%	FS_`.EN,1
	ELMT%%	FS`.BN,1
	ELMT%%	FS` .RN,1
	ELMT%%	FS`@.UPD,1
	ELMT%%	F``S.IGE,1
	ELMT%%	aFS.IF,1
	ELMT%%	a FS.IEC,1



Ia@FE TOPS20,<
	ELMa`T%%	PTH.BK,.PTMAXb
>


	ELMT%%	b FOP.BK,1
	ELMT%%b@	FOP.IS,1
	ELMT%b`%	FOP.DN,1
	ELMTc%%	FOP.BH,1
	ELMc T%%	FOP.BN,1
	ELc@MT%%	FOP.LB,1
	Ec`LMT%%	FOP.PP,1
d

	ELMT%%	CP.BLKd ,1
	ELMT%%	CP.BKd@1,1
	ELMT%%	CP.Bd`K2,1
	ELMT%%	CP.eBK3,1
	ELMT%%	CPe .BK4,1
	ELMT%%	C[email protected],1
	ELMT%%	e`CP.BK6,1
	ELMT%%f	CP.BK7,1
IFN TOf PS20,<				; [1066f@]
	ELMT%%	GJ.BLKf`,17
	ELMT%%	GJ.AgTR,4
>					; [10g 66]

	; MAKE TM[email protected] AT LEAST AS g`BIG AS .TPLEN ON hTOPS10

IFN TOPh S20,<	ELMT%%	TMP.h@BK,15>
IFE TOPS2h`0,<	
 IFNDEF .TPiLEN,<ELMT%%	TMP.Bi K,15>
 IFDEF .TPi@LEN,<
  IFL <15-i`.TPLEN>,< ELMT%%	jTMP.BK,.TPLEN>
 j  IFGE <15-.TPLEN>j@,< ELMT%%	TMP.BK,j`15>
 >
>

	ELkMT%%	FID.BK,15
k 
	ELMT%%	NRSAV.,5k@

	ELMT%%	AUTOLk`B,1
	ELMT%%	DELSlIZ,1
	ELMT%%	LNKl NO.,1
	ELMT%%	REl@LEN.,1



	ELl`MT%%	SRC.MD,1
	EmLMT%%	DLM.MD,1
	m ELMT%%	DST.MD,1
m@	ELMT%%	NX.SSA,1	m`;ADDRESS OF NEXT nSOURCE SERIES ITEn M
	ELMT%%	CV.DLMn@,1	;INSTRUCTION Tn`O CONVERT DELIMIToER
	ELMT%%	SSACBo .,16	; SAVED AC'So@ WHEN CALLING A To`AG
	ELMT%%	TAG.PpT,1	;ADDR OF ROUTp INE TO STORE POINp@TER VALUE
	ELMT%p`%	TAG.DL,1	;ADDR qOF ROUTINE TO GETq  NUMERIC DELIMITEq@R
	ELMT%%	TAG.SRq`,1	;ADDR OF ROUTIrNE TO GET NUMERICr  SOURCE
	ELMT%%	[email protected],1	;SOURCE-r`SERIES ITEM COUNTsER
	ELMT%%	DLM.Ts P,1	;ADDR OF %TEMs@P OR %LIT FOR DELs`IMITER
	ELMT%%	StRC.TP,1	;ADDR OF t %TEMP OR %LIT FORt@ SOURCE
	ELMT%%	t`NX.SRC,1	;ADDR OFu NEXT SOURCE ITEMu 
	ELMT%%	NUM.SR,u@1	;NUMBER OF SOURu`CES IN THIS SS
	vELMT%%	NUM.RC,1	;v NUMBER OF RECEIVIv@NG ITEMS FOR UNSTv`RING
	ELMT%%	CT.wDLM,1	;COUNT OF Dw ELIMITERS
	ELMT%w@%	SRD.BP,1	;HOLDSw` BP FOR SOURCE - xSTART OF 1ST MATCx H
	ELMT%%	SRD.CCx@,1	;HOLDS CC FOR x`SOURCE - START OFy 1ST MATCH
	ELMTy %%	SRA.BP,1	;HOLDy@S BP FOR SOURCE Ay`FTER LAST MATCH
z	ELMT%%	SRA.CC,1	z ;HOLDS CC FOR SOUz@RCE AFTER LAST MAz`TCH
	ELMT%%	CV.S{DS,1	;CONVERSION { FROM SOURCE TO DE{@ST
	ELMT%%	TAG.S{`T,1	;GET %TEMP SE|T UP FOR DEST.
	| ELMT%%	NX.DLM,1	;|@NEXT DELIMITER
	|`ELMT%%	NUM.DL,1	;}NUMBER OF DELIMIT} ERS
	ELMT%%	TAG.}@CT,1	;TAG TO STOR}`E COUNT ITEM
	EL~MT%%	TAG.DA,1	;TA~ G TO STORE AWAY D~@EST FROM OU.TMP
~`	ELMT%%	DST.TP,1	;%LIT OR %TEMP FO R DEST.
	ELMT%%	@TAG.TL,1	;TAG TO `STORE TALLY ITEM

	ELMT%%	BS.AGL	 ,1




	ELMT	@%%	SRC.PT,1
	ELM	`T%%	SRC.CT,1

		ELMT%%	TMP.DP,1
	 
	ELMT%%	OU.ARP,	@1
	ELMT%%	OU.MDE	`,1

	ELMT%%	TL.	ARG,1
	ELMT%%	TL	 .VLU,1

	ELMT%%	@	PT.ARG,1
	ELMT%	`%	PT.VLU,1

	EL	MT%%	AP.TMP,1
	E	 LMT%%	DW.TMP,1
	@
	ELMT%%	SE.DLM,1	`

	ELMT%%	PF.MD	E,1

	ELMT%%	PT	 .AGL,1
	ELMT%%	T	@P.AGL,1

	ELMT%	`%	SU.AGL,1

	EL	MT%%	BS.DLM,1
	E	 LMT%%	TP.DLM,1
	@

	ELMT%%	SU.RR	`
	ELMT%%	SU.DBR
	ELMT%%	SU.EQ
		 			
	ELMT%%	SU.D	@Q
	ELMT%%	SU.MQ
	ELMT%%	SU.RRT
		ELMT%%	SU.T1
	E	 LMT%%	SU.T2
	ELM	@T%%	SU.T3
	ELMT%	`%	SU.T4
	ELMT%%		SU.T5
	ELMT%%	SU	 .T6
	ELMT%%	SU.T	@7
	ELMT%%	SU.T8
	ELMT%%	SU.T9
			ELMT%%	SU.CRH
				 		
	ELMT%%	SU.EQ		@T
	ELMT%%	SU.DQT		`
	ELMT%%	SU.MQT

	ELMT%%	SU.Y
	E	
 LMT%%	SU.RBP
				
@	
	ELMT%%	SU.MRR	
`
	ELMT%%	SU.SBD
	ELMT%%	SU.RLV
	 	ELMT%%	SU.RND
		@ELMT%%	SU.SFQ
	E	`LMT%%	SU.SFS
	EL	
MT%%	SU.SBS
	ELM	
 T%%	SU.NR
	ELMT%	
@%	SU.FR
	ELMT%%		
`SU.AK
	ELMT%%	SU	
	ELMT%%	SU.	
	ELMT%%	SU.V	
				
	ELMT%%	
	ELMT%%	S	U.CK
	ELMT%%	SU.	 SVK
	ELMT%%	SU.C	@L1
	ELMT%%	SU.CL	`2
	ELMT%%	SU.CLR	
	ELMT%%	SU.CLS
	ELMT%%	SU.SAV,5	@

	ELMT%%	FET1,	`1
	ELMT%%	FET2,1	
	ELMT%%	FET3,1
	ELMT%%	FET4,1
	@
	ELMT%%	SU.FRF


	ELMT%%	USRL	O.
IFN BIS,<
	E	 LMT%%	MRKPTR,2
>	@


	ELMT%%	FUN	`.A0,1
	ELMT%%	FU	N.ST,1
	ELMT%%	F	 UN.A1,1
	ELMT%%		@FUN.A2,1
	ELMT%%	`	FUN.A3,1


IF	N MCS!TCS,<
 IFE	  TOPS20,<
	ELMT%	@%	SNDMSG,10
	ELM	`T%%	MCSTN,1
	ELM	T%%	M.TMP1,1
	EL	 MT%%	M.TMP2,1
	E	@LMT%%	M.ATCT,1
		`ELMT%%	MCSPT,1
		ELMT%%	PIDMCP,1
	@	ELMT%%	PIDLCM,1
	ELMT%%	IPCFLG,1	`
	ELMT%%	PAKSND,	4
	ELMT%%	MSGSND	 ,10
	ELMT%%	PAKR	@EC,4
	ELMT%%	MSG	`REC,10




	
	ELMT%%	PAGOFF,1	 
	ELMT%%	PAGBIT,	@1
	ELMT%%	PAGLST	`,1
	ELMT%%	PAGCN	T,1
>>
 IFE TOP	 S20,<
	ELMT%%	PA	@GTBL,20
	ELMT%%		`T1SAV,1
>
	ELMT	%%	DBMLOC,1


	 IFN MCS!TCS,<
 I	@FN TOPS20,<
	ELM	`T%% TP.RG1,1
	EL	MT%% TP.RG2,1
	E	 LMT%% TP.RG3,1
		@ELMT%% TP.RG4,1
	`	ELMT%% TP.RG5,1
	ELMT%% TP.ID,1
	ELMT%% TP.CRP,1	@
	ELMT%% TP.IPC,	`1
	ELMT%% TP.CPP	,1
	ELMT%% TP.JF	 N,1
	ELMT%% TP.W	@NS,1
	ELMT%% TP.	`TMP,3
	SYML%% TP	.PDS,^D10
	ELMT%	 % TP.PDB,TP.PDS
	@	SYML%% TP.PKS,^D	`30
	ELMT%% TP.PK	T,TP.PKS
	SYML%%	  TP.NAM,TP.PKT+2
	ELMT%% TP.TPD,1	`
	ELMT%% TP.LPD,	1
	ELMT%% TP.HDS	 ,1
	ELMT%% TP.HD	@P,1
	ELMT%% TP.D	`VP,1
	ELMT%% TP.	 BTP,1
	ELMT%% TP	  .PAT,^D10
>>

	 @IFN DBMS,<
	ELMT	 `%% DBMLOK,1
>
		!ELMT%% OSHOOT,1
	! 
IFE TOPS20,<
		!@ELMT%% M7.00,1
>	!`

IFN LSTATS,<
	ELMT%%	MRTMB.,1	" 
	ELMT%%	MROPT.,	"@1
	ELMT%%	MROPTT	"`,^D16
					; POI	#NTS TO START OF B	# UCKET BLOCK
	ELM	#@T%%	MRHDBP,1
	EL	#`MT%%	MRHDFL,1
			$			; BLOCK
	ELMT	$ %%	MRTDBP,1
	ELM	$@T%%	MRLDBL,1
				$`		; OR BUFFER FOR	% COPY FROM .TMP T	% O .MTO
IFN DBMS6	%@,<
	ELMT%%	MRDDB	%`P,1
>
	ELMT%%	M	&RNM6,1
	ELMT%%	M	& RNMA,3
	ELMT%%	M	&@RAFFT,1
	ELMT%%		&`MRFKFT,1
IFE TOP	'S20,<
	ELMT%%	MB	' TIM.,1
	ELMT%%	M	'@RCHNN,1
	ELMT%%		'`MRCHCF,1
	ELMT%%	(	MRBLKO,1
	ELMT%	( %	MRBKO.,1
	>
I	(@FN TOPS20,<
	ELM	(`T%%	MBTIM.,2
	EL	)MT%%	MRJFN,1
	EL	) MT%%	MRLCJF,1
	E	)@LMT%%	MRBLKO,2
		)`ELMT%%	MRBKO.,2
	*IFN FTLSDR,<
	EL	* MT%%	MRLDNA,^D10
	ELMT%%	MRLDJF,1	*`
	  >;END IFN FT	+LSDR
	>;END IFN 	+ TOPS20
IFN FTLSD	+@R,<
	ELMT%%	MRLB	+`PC,1
	ELMT%%	MRL	,SZL,1
	ELMT%%	MR	, LFPR,1
  IFE TOP	,@S20,<
	ELMT%%	MR	,`CHLS,1
	ELMT%%	M	-RLLDR,1
	ELMT%%		- MRLLDV,1
	ELMT%%	-@	MRCFNM,1
	ELMT%	-`%	MRCFEX,1
   >;	.END IFE TOPS20
>	. ;END IFN FTLSDR
	.@	ELMT%%	MRAPN.,1
					;0 IF FILE 	/IS NEW
	ELMT%%	M	/ RFPGT,1,
	ELMT%%	/@	MRKILL,1
	ELMT%	/`%	MRBNUM,1
	ELMT	0%%	MRRERN,1
					0 	; (THUS CAN'T WR	0@ITE IN .MTO FILE)	0`
IFN TOPS20, ELM	1T%% MRPSTM,2
IFE	1  TOPS20, ELMT%% M	1@RPSTM,1

>

		1`ELMT%%	DBSTP.,1
	2
;THE FOLLOWING 	2 ARE USED FOR $ERR	2@OR PROCESSING
	E	2`LMT%%	ER.PC,1
	E	3LMT%%	ER.FLG,1
		3 ELMT%%	ER.MCL,1
	3@	ELMT%%	ER.HIJ,1
					; SOMETIMES	4 SET UP BEFORE TH	4 E $ERROR
					; 	4@CALL.
IFN TOPS20	4`,<
	ELMT%%	ER.JS	5E,1
	ELMT%%	MNTR	5 5,1
>
IFE TOPS2	5@0,<
	ELMT%%	ER.E	5`10,1
>
	ELMT%%		6ER.RBG,1

;** T	6 HE FOLLOWING LOCA	6@TIONS SHOULD BECO	6`ME "VISIBLE" IN V	7ERSION 13.
;   T	7 HEY ARE HERE TEMP	7@ORARILY FOR 12B S	7`O 12A IS COMPATIB	8LE.
	ELMT%%	SLRS	8 W.,1
	ELMT%%	RMF	8@LG.,1


IFN AN	8`S74,<
;USED BY R	9MSIO
	ELMT%%	CVP	9 RM.,2
	ELMT%%	CV	9@ARGS,2
	ELMT%%	R	9`MSVR.,1
>
	ELMT%%	INTRAP,1
MTY<v>
@ 
@Q*

;ERROR
` CHECKS
IF1,<
	
IFNDEF XB,<PRINT
 X ? B NOT DEFINE
@D WITH "DEFBYT">
`
>;END PASS 1 ERR
OR CHECKS

DFBF
 ==XB-^D32		;GET
@ FLAG WORDS
IFE 
`DFBF-DFB.FW,<		;G
EN FULL WORD INST
 RUCTION
	MOVE	A
@,YB+C
	>
IFE 
`DFBF-DFB.RH,<		;G
EN RIGHT HALF WOR
 D INSTRUCTION
	H
@RRZ	A,YB+C
	>
`
IFE DFBF-DFB.LH
,<		;GEN LEFT HAL
 F WORD INSTRUCTIO
@N
	HLRZ	A,YB+
`C
	>
IFE DFBF-D
FB.BT,<
..X==XB
 _^D18
..X==..X_-
@^D18			;GET RID O
`F LH, = ENDING BI
T POSITION 
..Y=
 =<XB_-^D18>&^O77
@		;GET LH, JUST #
` OF BITS
	..LIT=
=<YB+C>	;FIRST 
 PART OF LITERAL B
@EING BUILT
	..LI
`T==..LIT+<..Y_^D2
4> ;# OF BITS IN 
 BYTE PTR
	..LIT=
@=..LIT+<<^D36-..X
`-1>_^D30> ;FINAL 
BIT POSITION IN B
 YTE PTR
	LDB	A,[..LIT]
	>
A,Y?< 
G`U
	DEFINE	
HSYMH%%	(N%,V)	< >
H 
	DEFINE	SYML%%	
H@(N%,V)	<SYM%%	N%,
H`V>	
	DEFINE	ELMT
I%%	(N%,L<1>,V)	<B
I LKDFV	N%,L,<V>>

I@	LOC	LO.PUR			

I`
	VISBL%

	DEFI
JNE	ELMT%%	(N%,L<1
J >,V) <BLOCK L>

J@
	INFBK%


	DE
J`FINE	ELMT%%	(N%,L
K<1>,V) <
	IFIDN 
K <N%><E0.6>,<N%::	
[email protected]=:E0.6+1>

K`	IFIDN <N%><E0.7>
L,<N%::	E0.7.1=:E0
L .7+1>
	IFIDN <N%
L@><E0.9>,<N%::	E0.
L`9.1=:E0.9+1>
	IF
MIDN <N%><OU.TMP>,
M <N%::>
	IFIDN <N
M@%><DST.BP>,<N%::>
M`
	IFIDN <N%><DST
N.CC>,<N%::>
	IFI
N DN <N%><PT.VAL>,<
N@N%::>
	IFIDN <N%
N`><SRC.BP>,<N%::>
O
	IFIDN <N%><SRC.
O CC>,<N%::>
	IFID
O@N <N%><SR.TMP>,<N
O`%::>
	IFIDN <N%>
P<DLM.BP>,<N%::>

P 	IFIDN <N%><DLM.C
P@C>,<N%::>
	IFIDN
P` <N%><TMP.DL>,<N%
Q::>
	IFIDN <N%><
Q TL.VAL>,<N%::>
	
Q@IFIDN <N%><CT.VAL
Q`>,<N%::>
	BLOCK	
RL>

	DEFINE	SYM
R L%%	(N%,V)	< >

R@
	PREST%

	COMC
R`HK	.-LO.PUR	

	
SPURGE	ELMT%%,SYMH%%,SYML%%,ADR
[P _BpZ7Q _Bp[zQ aJ.= #PE
	SYML%%	$IFRST.,.
	SYMH%%$ 	PFRST.,.

IFN $@ANS68,<
	ELMT%%	$`OVFLG.,1,<Z		>
>%

IFN BIS,<
	E% LMT%%	E0.6,1,<EDI%@T	0>
	ELMT%%	E0.%`6.1,1,<0>
	ELMT%&%	,1,<0>
	ELMT%%& 	,1,<"$"-40>
	EL&@MT%%	,1,<","-40>
	ELMT%%	,1,<"."-'40>
	ELMT%%	,1,<' " "-40>
	ELMT%%	'@,1,<"0"-40>
	ELM'`T%%	,1,<"+"-40>
(	ELMT%%	,1,<"-"-4( 0>
	ELMT%%	,1,<"(@C"-40>
	ELMT%%	,(`1,<"R"-40>
	ELMT)%%	,1,<"D"-40>
	) ELMT%%	,1,<"B"-40)@>
IFN ANS74,<
	)`ELMT%%	,1,<"/"-40*>
>

	ELMT%%	E* 0.7,1,<EDIT	0>
	*@ELMT%%	E0.7.1,1,<*`0>
	ELMT%%	,1,<0+>
	ELMT%%	,1,<"$+ ">
	ELMT%%	,1,<"+@,">
	ELMT%%	,1,<+`".">
	ELMT%%	,1,,<" ">
	ELMT%%	,1, ,<"0">
	ELMT%%	,,@1,<"+">
	ELMT%%	,`,1,<"-">
	ELMT%%-	,1,<"C">
	ELMT%- %	,1,<"R">
	ELMT-@%%	,1,<"D">
	ELM-`T%%	,1,<"B">
IFN. ANS74,<
	ELMT%%. 	,1,<"/">
>

	.@ELMT%%	E0.9,1,<ED.`IT	0>
	ELMT%%	E0/.9.1,1,<0>
	ELMT/ %%	,1,<0>
	ELMT%/@%	,1,<133>
	ELMT/`%%	,1,<153>
	ELM0T%%	,1,<113>
	EL0 MT%%	,1,<100>
	E0@LMT%%	,1,<360>
	0`ELMT%%	,1,<116>
1	ELMT%%	,1,<140>
	ELMT%%	,1,<303>1@
	ELMT%%	,1,<3311`>
	ELMT%%	,1,<3024>
	ELMT%%	,1,<32 02>
IFN ANS74,<
	ELMT%%	,1,<141>2`
>
>



	EL3MT%%	OU.TMP,5		;F3 OR STRING
	ELMT%3@%	DST.BP,1		;DEST3`INATION BYTE POIN4TER
	ELMT%%	DST.4 CC,1		;DESTINATIO4@N CHAR COUNT
	EL4`MT%%	PT.VAL,1		;'5POINTER' VALUE
	5 ELMT%%	SRC.BP,1		5@;SOURCE BYTE PTR
	ELMT%%	SRC.CC,16		;CC OF SOURCE
6 	ELMT%%	SR.TMP,5	6@	;TEMP HOLD FOR N6`UMERIC SOURCE
	E7LMT%%	DLM.BP,1		;7 BYTE PTR TO DELIM7@ITER
	ELMT%%	DLM7`.CC,1		;CC OF DEL8IMITER
	ELMT%%	T8 MP.DL,5		;TEMP HO8@LD FOR NUMERIC DE8`LIMITER
	ELMT%%	9TL.VAL,1		;TALLY 9 VALUE
	ELMT%%	CT[email protected],1		;COUNT VA9`LUE

	SYML%%	FR:STIC,.
	ELMT%%	I: IN,1,<IN 0,CMDLST:@	>
	ELMT%%	IOUT,:`1,<OUT 0,CMDLST	>;
	ELMT%%	ISETI,1; ,<USETI 0,(AC1)	>;@
	ELMT%%	ISETO,1;`,<USETO 0,(AC1)	><
	ELMT%%	ICLOS,1< ,<CLOSE 0,0	>
	E<@LMT%%	IRELE,1,<RE<`LEAS 0,0	>
	ELMT=%%	IGETS,1,<GETST= S 0,AC2	>
	ELMT%=@%	ISETS,1,<SETSTS=` 0(AC2)>
	ELMT%%>	IWAIT,1,<CALLI 0> ,10	>
	ELMT%%	IR>@NAM,1,<RENAME 0,U>`EBLK.	>
	SYML%%	?LASTIC,<.-1>

	? SYML%%	UFRST.,.
?@	ELMT%%	MWAIT.,1,?`<MTAPE 0,0	>
	EL@MT%%	MREW.,1,<MTA@ PE 0,1	>
	ELMT%%@@	MREWU.,1,<MTAPE @`0,11	>
	ELMT%%	MABSPR.,1,<MTAPE 0,A 7	>
	ELMT%%	MBSPA@F.,1,<MTAPE 0,17	A`>
	ELMT%%	MADVR.B,1,<MTAPE 0,6	>
B 	ELMT%%	MADVF.,1,B@<MTAPE 0,16	>
	EB`LMT%%	MWEOF.,1,<MCTAPE 0,3	>
	ELMTC %%	MTIND.,1,<MTAPC@E 0,101	>
	ELMT%C`%	MERAS.,1,<MTAPED 0,13	>


	ELMD T%%	SOBOT.,1,<STAD@TO 0,4000	>
	ELMD`T%%	SZBOT.,1,<STAETZ 0,4000	>
	ELME T%%	SZEOF.,1,<STAE@TZ 0,20000	>
	ELE`MT%%	SZEOT.,1,<STFATZ 0,2000	>
	ELF MT%%	UOPEN.,1,<OPF@EN 0,UOBLK.	>
	EF`LMT%%	UENTR.,1,<EGNTER 0,UEBLK.>
	G ELMT%%	ULKUP.,1,<G@LOOKUP 0,ULBLK.>
	ELMT%%	UOBUF.,1H,<OUTBUF 0,2(AC6)H >
	ELMT%%	UIBUF.H@,1,<INBUF 0,2(AC6H`)	>
	ELMT%%	UCLOIS.,1,<CLOSE 0,0	>I 
	ELMT%%	URELE.,I@1,<RELEAS 0,0	>
I`	ELMT%%	USETI.,1,J<USETI 0,(AC1)	>
	ELMT%%	USETO.,1J@,<USETO 0,(AC1)	>J`
	ELMT%%	UOUT.,1K,<OUT 0,0		>
	ELK MT%%	UIN.,1,<IN 0K@,0		>
	ELMT%%	USK`ETS.,1,<SETSTS 0,L(AC2)	>
	ELMT%%	L UGETS.,1,<GETSTS L@0,AC2	>
	ELMT%%	L`UWAIT.,1,<CALLI	0M,10	>
IFN ANS68,M <
	ELMT%%	USEEK.M@,1,<CALLI	0,56	>
>
IFN ANS74,<
N	SYML%% 	USEEK.,-N 1
>
	ELMT%%	URNN@AM.,1,<RENAME 0,UN`EBLK.>
	SYML%%	UOLAST.,<.-1>
	SYMO L%%	ULEN.,<UFRST.O@-ULAST.>

	ELMTO`%%	UOCAL.,1,<EXP PC.RSET##+1>
	ELMP T%%	UOBLK.,3,<EXPP@ 0		>
	ELMT%%	TMP`P.PT,1,<POINT 7,TQMP.BK>
	ELMT%%  Q FID.PT,1,<POINT 7Q@,FID.BK>
	ELMT%%Q`	FUSIA.,2,<EXP 11R	>
	ELMT%%	FUSOAR .,2,<EXP 12	>
	ER@LMT%%	FUSCP.,1,<ER`XP 10	>
	ELMT%%	SARGBK.,6,<EXP 5		S >
	SYML%%	ILAST.,<.-6>

	AST.aW
" 
8`St

	
IFE
9 TOPS20,<
	DEFIN
9 E	DISEL%	(NAM)	<J
9@RST	1,NAM##>	
	D
9`EFINE	DSTBL%	(NAM
:,IR)	<JRST	1,@NAM
: ##(IR)>
>
IFN T
:@OPS20,<
	DEFINE	
:`DISEL%	(NAM)	<JRS
;T	NAM##>	
	DEFIN
; E	DSTBL%	(NAM,IR)
;@	<JRST	@NAM##(IR)
;`>
>
	RELOC	HI.O
<RG			
	DISTB%			
< 	

	
	DEFINE	S
<@YMH%%	(N%,V)	<SYM
<`%%	N%,V>	
	DEFIN
=E	SYML%%	(N%,V)	<
=  >		
	DEFINE	ELM
=@T%%	(N%,L<1>,V)	<
=`BLKDFV	,L,<V>>	

>	PREST%				

	P
> URGE	ELMT%%,SYMH%
>@%,SYML%%,DISEL%,DSTBL%
DISEL%,DaWKb 
?T


	DEFIN
? E	ELMT%%	(N%,L<1>
?@,V)	<BLKDF	N%,L>	
?`
	LOC	LO.PUR			
@
	DEFINE	SYML%%	(
@ N%,V)	<SYM%%	N%,V
@@>	
	DEFINE	SYMH%
@`%	(N%,V)	< >	


A	%LOSEG			

	CO
A MCHK	.-LO.PUR	

A@
	PURGE	ELMT%%,SYMH%%,SYML%%
SYe-nQ e7iXP +e7kP <gl.: 
 P*

IF1,<	
@			;ONLY HAPPENS 
`ON PASS 1
;ERROR
 CHECKS
IFNDEF X
 B,<	PRINTX ? SAM
@BYT: B NOT PREVI
`OUSLY DEFINED WIT
H DEFBYT>

XA=
 =XB
YA==YB
>;END IF1
B
>gRX5Q @gRY8Q gRYzQ gR[VQ gR~)  
`RL

;ERROR
  CHECKS
IF1,<
	
  IFNDEF XB,<PRINT
 @X ? B NOT DEFINE
 `D WITH "DEFBYT">
!
>;END PASS 1 ERR
! OR CHECKS

DFBF
!@==XB_-^D32		;GET
!` FLAG WORDS
IFE 
"DFBF-DFB.FW,<		;G
" EN FULL WORD INST
"@RUCTION
	MOVEM	
"`A,YB+C
	>
IFE
# DFBF-DFB.RH,<		;
# GEN RIGHT HALF WO
#@RD INSTRUCTION
	
#`HRRM	A,YB+C
	
$>
IFE DFBF-DFB.L
$ H,<		;GEN LEFT HA
$@LF WORD INSTRUCTI
$`ON
	HRLM	A,YB+
%C
	>
IFE DFBF-
% DFB.BT,<
..X==X
%@B_^D18
..X==..X_
%`-^D18			;GET RID 
&OF LH, = ENDING B
& IT POSITION 
..Y
&@==<XB_-^D18>&^O7
&`7		;GET LH, JUST 
'# OF BITS
	..LIT
' ==<YB+C>	;FIRST
'@ PART OF LITERAL 
'`BEING BUILT
	..L
(IT==..LIT+<..Y_^D
( 24> ;# OF BITS IN
(@ BYTE PTR
	..LIT
(`==..LIT+<<^D36-..
)X-1>_^D30> ;FINAL
)  BIT POSITION IN 
)@BYTE PTR
	DPB	A,[..LIT]
	>
AgfhQ  SBA==:BiP i?4HP m'+ Ao

	ELMT%0%	MEMRY%,1
	ELMTP%%	TALLY.,1,<Z>
p	ELMT%%	SZERA.,1,<Z>
	ELMT%%	OVFL0O.,1,<Z>

	ELMTP%%	TRAC1.,1,<JRSTp	BTRAC.##>
	ELMT%%	TRAC2.,1,<JRST0	TRPOP.##>
	ELMTP%%	TRAC3.,1,<JRSTp	TRPD.##>

	ELMT%%	OPNCH.,1,<XWD0	777774,0>
	ELMTP%%	RN.DEV,1
	ELMpT%%	RN.PPN,1
	ELMT%%	RN.NAM,1
	E0LMT%%	FSLOC.,1,<ZP>
	ELMT%%	HLOVL.p,1,<Z>

	ELMT%%	%REMOV,1,<EXP	RE0MOV.##>
IFN ANS7P4,<
	ELMT%%	%ENTpOV,1,<EXP	ENTOV.##>
>

	ELMT%%	0KEYCV.,1,<Z>
	ELPMT%%	SAVEF.,1,<Z>p






	ELMT%%	HPRT.,1,<EXP0	HSRPT.##>
					P	; PRINTING ROUTIpNE.
	ELMT%%	SEGNO.,1,<Z>
	ELMT%%0	SNRBP.,1,<EXP	SBPPSG.##>


	ELMpT%%	TRAC4.,1,<EXP	CNTRC.##>
	ELMT0%%	CIOTF.,1,<EXP	PSFOV.##>



p


IFN DBMS,<				;[623]
	ELMT%%0	DBSTP%,1,<EXP	%DPBSTP##>

	SYML%p%	LEVEL.,<.-1>
	IFNDEF LEVEL.,<PR0INTX ?LEVEL. NOT PDEFINED!>
>					p;[623]
IFE DBMS,<				;[623]
	ELM0T%%	LEVEL.,1,<Z>
>					;[623]

p	ELMT%%	METR.,1,<Z>



.,1,<u2| 
`Qz

;ERROR
 CHECKS
IF1,<
	
 IFNDEF XB,<PRINT
@X ? B NOT DEFINE
`D WITH "DEFBYT">

>;END PASS 1 ERR
 OR CHECKS

DFBF
@==XB_-^D32		;GET
` FLAG WORDS
IFE 
DFBF-DFB.FW,<		;G
 EN FULL WORD INST
@RUCTION
	MOVE	A
`,C
	>
IFE DFBF
-DFB.RH,<		;GEN R
 IGHT HALF WORD IN
@STRUCTION
	HRRZ	
`A,C
	>
IFE DF
BF-DFB.LH,<		;GEN
  LEFT HALF WORD I
@NSTRUCTION
	HLRZ
`	A,C
	>
IFE D
FBF-DFB.BT,<
..X
 ==XB_^D18
..X==
@..X_-^D18			;GET 
`RID OF LH, = ENDI
NG BIT POSITION 
 
..Y==<XB_-^D18>
@&^O77		;GET LH, J
`UST # OF BITS
	.
.LIT==<C>		;FIRS
 T PART OF LITERAL
@ BEING BUILT
	..
`LIT==..LIT+<..Y_^
D24> ;# OF BITS I
 N BYTE PTR
	..LI
@T==..LIT+<<^D36-.
`.X-1>_^D30> ;FINA
L BIT POSITION IN
  BYTE PTR
	LDB	A,[..LIT]
	>
uO%|R 
*S

;ERROR
*  CHECKS
IF1,<
	
*@IFNDEF XB,<PRINT
*`X ? B NOT DEFINE
+D WITH "DEFBYT">
+ 
>;END PASS 1 ERR
+@OR CHECKS

DFBF
+`==XB_-^D32		;GET
, FLAG WORDS
IFE 
, DFBF-DFB.FW,<		;G
,@EN FULL WORD INST
,`RUCTION
	MOVEM	
-A,C
	>
IFE DFB
- F-DFB.RH,<		;GEN 
-@RIGHT HALF WORD I
-`NSTRUCTION
	HRRM
.	A,C
	>
IFE D
. FBF-DFB.LH,<		;GE
.@N LEFT HALF WORD 
.`INSTRUCTION
	HRL
/M	A,C
	>
IFE 
/ DFBF-DFB.BT,<
..
/@X==XB_^D18
..X=
/`=..X_-^D18			;GET
0 RID OF LH, = END
0 ING BIT POSITION 
0@
..Y==<XB_-^D18
0`>&^O77		;GET LH, 
1JUST # OF BITS
	
1 ..LIT==<C>		;FIR
1@ST PART OF LITERA
1`L BEING BUILT
	.
2.LIT==..LIT+<..Y_
2 ^D24> ;# OF BITS 
2@IN BYTE PTR
	..L
2`IT==..LIT+<<^D36-
3..X-1>_^D30> ;FIN
3 AL BIT POSITION I
3@N BYTE PTR
	DPB	
3`A,[..LIT]
	>
A,[..LIT]
	>

{:P 
&C@P 
uS@P 
#@P fI9P |,{P |-YP }[0P MI9P 2~93 
4 S&
	VISBL%	
4@	
	INFBK%		
	PR
4`EST%	
	LIDAT%		
%	
	LIDAT%		6}i<P ?6)WP B}ZP C.:P N,}rP O,\:P O,hZP O.,ZP W\gP S@P >}{woP 
COPYRIGHT (C) 1985 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
ALL RIGHTS RESERVED.