Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-03 - decus/20-0078/comp/t1.mac
There is 1 other file named t1.mac in the archive. Click here to see a list.
;<ENDERIN>T1.MAC.2,  6-Dec-76 14:15:57, Edit by ENDERIN
COMMENT;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

AUTHOR:		CLAES WIHLBORG
VERSION:	4 [144,225,260]

PURPOSE:	TERMINATION OF PASS 1
CONTENTS:	T1  =  NORMAL TERMINATION
		T1AB=ABNORMAL TERMINATION

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	SALL
	SEARCH	SIMMC1,SIMMAC
	CTITLE	T1 (TERMINATION PASS 1)

	INTERN	T1,T1AB

	EXTERN	DP,O1ZS,O1PACK
			edit(144)
	EXTERN	O1SFDC	;[144]
	edit(225)
IFN QDEC20,<EXTERN I2EN,I3,YPASSNO,O2AB,T3T3>;[225]
IFG QDEBUG,<EXTERN P1DUMP>
IFG QTRACE,<EXTERN YTRPAS,YTRACC>

	EXTERN	QBKSTZ
	EXTERN	QOPSTZ
	EXTERN	Y1MASK
	EXTERN	Y2STAR
	EXTERN	Y3LOWE
	EXTERN	YATSFD	;[144]
	EXTERN	YATRPPN	;[144]
	EXTERN	YBKST
	EXTERN	YBKSTP
	EXTERN	YBRBUF,YBRZSE,YBRSRC
	EXTERN	YBREAK
	EXTERN	YDCSTB
	EXTERN	YDCSTO
	EXTERN	YDCSTP
	EXTERN	YDICTB
	EXTERN	YEXTS	;[144]
	EXTERN	YFXTAB
	EXTERN	YLINE
	EXTERN	YMAXFX
	EXTERN	YMAXID
	EXTERN	YLSSFD	;[144]
	EXTERN	YOPST
	EXTERN	YOPSTB
	EXTERN	YOPSTP
	EXTERN	YRDSTB
	EXTERN	YRDSTP
	EXTERN	YRELCN
	EXTERN	YRLSFD	;[144]
	EXTERN	YRSSFD	;[144]
	EXTERN	YSTATM
	EXTERN	YSWITC
	EXTERN	YSWRF	;[144]
	EXTERN	YZHET


	MACINIT
	TWOSEG
	RELOC	400000
	SUBTTL	T1AB

T1AB:
	SETON	YSWTRM

T1ABC:
	L	YBRSRC
	ST	YBRZSE
	EXEC	O1ZS
	LF	,YLSCLIN
	ST	YELIN2##
	ERRLI
	SETONA	YERNP2
	ST	X1MASK,Y1MASK
	HRRZS	YMAXID

	edit(225)
IFE	QDEC20,<;[225]
	L	X3,[XWD 1,Y3LOWE]

IFG QTRACE,<
		IFON	YTRSW
		MOVSI	X3,1>

	SWAPPA(SIMP3,S3,0,QP3PPN)
>;[225]

IFN QDEC20,<;;[225]
	L	YPASSNO
	CAIN	1
	BRANCH	I3
	CAIN	2
	BRANCH	O2AB
	BRANCH	T3T3
>
	SUBTTL	T1, FINALIZE PASS1

T1:
	EXEC	O1PACK
	SETON	YSWP1
	IFONA	YERNP2
	GOTO	T1ABC
	EXEC	DP

	edit(144)	;[144] Copy any SFD paths to permanent locations

	LI	X1,YEXTS+7	;[144] REL file ppn or sfd ptr
	LI	X2,YRLSFD	;[144]
	EXEC	O1SFDC		;[144]

	LI	X1,YEXTS+3	;[144] LST file ppn or sfd ptr
	LI	X2,YLSSFD	;[144]
	EXEC	O1SFDC		;[144]

	LI	X1,YATRPPN	;[144] Any global ATR file
	LI	X2,YATSFD	;[144]
	EXEC	O1SFDC		;[144]

	LI	X1,YSWRF+4	;[144] /RUNSWITCHES:"dev:file.ext[path]"
	LI	X2,YRSSFD	;[144]
	EXEC	O1SFDC		;[144]

	EXEC	O1ZS

	L	YMAXFX
	CAIL	10K
	GOTO	[ERR	QT,Q1T1.T
		GOTO	T1AB]

	SETOFF	YSWP1
	L	YBRZSE
	ST	YBRBUF
	ST	X1MASK,Y1MASK

IFG QDEBUG,<EXEC P1DUMP>

	HRRZS	YMAXID
	L	X7,YMAXID
	LI	X6,YDICTB+1(X7)
	LI	X5,0(X6)
	ADD	X5,YMAXFX
	LI	X5,40(X5)
	LI	X3,1200(X5)
	IORI	X3,1777

IFG QTRACE,<	IFON	YTRSW
		LI	X3,YTRACC-1>

	L	[XWD Y2START,Y2START+1]
	SETZM	Y2START
	BLT	0(X3)
	ST	X6,YFXTAB
	ST	X5,YRDSTB
	SETZM	YLINE
	SETZM	YSTATM
	LI	-1(X5)
	ST	YRDSTP
	LI	X2,0(X3)
	LI	X1,-1(X2)
	ST	X1,YDCSTO
	SUB	X2,YRDSTB
	ASH	X2,-3
	ADDI	X2,^D200(X5)
	ST	X2,YDCSTB
	ST	X2,YDCSTP
	ST	X2,YZHET
	SUB	X5,X2
	HRLM	X5,YRDSTP
	L	[XWD QBKSTZ,YBKST-1]
	ST	YBKSTP
	LI	YOPST
	ST	YOPSTB
	L	[XWD QOPSTZ,YOPST-1]
	ST	YOPSTP

	L	YBREAK
	ST	YRELCN

IFE	QDEC20,<;[225]

IFG QTRACE,<	IFON	YTRSW
		LI	X3,0>

	HRLI	X3,1
	SWAPPA(SIMP2,S2,0,QP2PPN)
>

IFN QDEC20,<BRANCH	I2EN>;[225]
	LIT
	END