Google
 

Trailing-Edge - PDP-10 Archives - ap-c800d-sb - strdcl.unv
There are 17 other files named strdcl.unv in the archive. Click here to see a list.
x
,*@P C3<9@ C:y@ C;N:=P C@@ CC[R@ E^y@ E@ E:!htP EA@ EA@ EC|`@#a@ECH@#@ECI@#FEg&:=@ FD@ G@ G",:`P G"^Z@ G; @ G>v= 'U$2,A,kGC8@ I  h'

	IFN Ah0NYSIZ,<
	SKIPGE	hPC		;THIS IS IMPEhpRFECT
	JRST	[HRLiI	C,RMBYTE	;HEREi0 IF "440700" C
iP		 SOJA	C,.+1]
ip	A	B,C
	CAML	jC,[MAXBP,,0]
	Jj0RST	[HRLI	C,RMBYjPTE
		 SOJA	C,.+jp2]
	ADD	C,[SIZ2kPF,,0]>

	IFE Ak0NYSIZ,<
	IFNDEF kPSIZ,<SIZ=AP>
	IFkpNDEF POZ,<POZ=SVPl>	;REGS 15 AND 16l0
	SAVE <SIZ,POZ>lP
	LDB	SIZ,[BPSIZlp1,,C]
	LDB	POZ,m[BPPOS,,C]
	CAIm0N	POZ,44		;CHARS mPASSUMED LEFT ALIGmpNED
	JRST	[IDIV	nPOZ,SIZ
		 MOVE	n0POZ,SIZ
		 LDB	SnPIZ,[BPSIZ1,,C]
np		 DPB	POZ,[BPPOSo,,C]
		 SOJA	Co0,.+1]
	A	B,C
	ADD	POZ,SIZ
	CopAIN	POZ,44		;CHARpS ASSUMED LEFT ALp0IGNED
	JRST	[IDIpPV	POZ,SIZ
		DPBpp	SIZ,[BPPOS,,C]
		0SOJA	C,.+2]
	DPB	POZ,[BPPOS,qP,C]
	RESTOR	<POZ,SIZ> >
R	<POI$J3 s'Q

	IFN	As0NYSIZ,<
	HRRZ	AsP,R1
	SUB	A,LEN1sp
	HRRZ	T2,R0
	StUBI	T2,0(BP1)	;GIt0VES WORD DIF OF TtPHE 2 BP
	IMULI	Ttp2,CPW
	ADD	A,T2u	;T2 IS NEG
	LDBu0	T1,[BPPOS,,R0]
uP	LDB	T2,[BPPOS,,BupP1]
	SUB	T2,T1
v	IDIVI	T2,BYTSIZ
	ADD	A,T2>

	vPIFE ANYSIZ,<
	IFvpNDEF SIZ,<SIZ=AP>w
	SAVE <SIZ>
	Lw0DB	SIZ,[BPSIZ1,,BwPP1]
	HRRZ	A,R1
	SUB	A,LEN1
	HxRRZ	T2,R0
	SUBI	x0T2,0(BP1)
	IMUL	xPT2,CPW$##(SIZ)
	xpADD	A,T2
	LDB	Ty1,[BPPOS,,R0]
	Ly0DB	T2,[BPPOS,,BP1yP]
	SUB	T2,T1
	IypDIV	T2,SIZ
	ADD	zA,T2
	RESTOR	<SIZ>>
RESTOR	<SK;%R@ KF`@ KK|@ {'_
	IFNB <{0B>,<
	JRST	[PUSH{P	P,[B]
		 JRST	{pA]>
	IFB <B>,<
	PUSHJ	P,A><Kb
=@ MVt= (a
;	SALL
0	T.....=0
	ST...P.=1
	IF2,<IFNDEFp A,<EXTERNAL A>>
	IFNB <B>,<
0	PUSH	P,AP
	IRP	PB,<IFIDN <B> <$p1>, <ST....=0>
		   IFIDN <B> <$02>, <ST....=-1>
P		   IFDIF <B> <p$1>,<
			IFDIF <B> <$2>,<
			  0 IFG ST....,<PUSHP	P,B
			   T...p..=T.....+1
>
			   ST....=1>>>
	R.....=0
	   IPRP  B,<IFIDN <Bp> <$1>, <ST....=0>
		   IFIDN <B0> <$2>, <ST....=-P1>
		   IFDIF <pB> <$1>,<
			IFDIF <B> <$2>,<
	0		   IFE ST....,<PT......=T......+1p
				    PUSH	P,B>
			   IFL ST0....,<T.....=T...P..+1
				    PUSpH	P,[B]>
			   	IFG ST....,<T....	0..=T......+1
				P		R.....=R.....+1	p
					HRRZI	AP,-
T.....+R.....+1(P
0)
					PUSH	P,AP
P
>
			   ST....
p=1>>>>
	MOVEI	AP,-T.....+R.....+10(P)
	PUSHJ	P,A
	IFNB <B>,<
	SpUB	P,[T.....,,T..
...]
	POP	P,AP>..]
	POP	P,AP>Q&=P Q&Ep@ SAi @ Su|R@ S:%@ 'S$1,A&[ZSB~:=@$A`YvX@@ Yr@ Yr @ Y>=1 |0'o
	C.....=|P0
	IFNB <B>,< I|pRP B,<C.....=C..}...+1
			 PUSH	P}0,B>>
	PUSHJ	P,}PA 
	IFN C.....,<}p SUB	P,[C.....,,C.....]>
...,,C[0@ [D,@#P[83P ['E[r@ [1@ [>$P@ [?SH@ ]>5@ _$@ `@ a @ a!ht@ aJ0@ a? 0(
	SUB	P,DP13D13##
	HRLZ	APp,P
	ADD	AP,[1,,2]
	BLT	AP,16,2a?@ a? @ aN.YP d@@ dD@ dH@ eKy 
	IRP A,<	POP	P,A> A,e&XY@ e&\W p(w
	JRST	RAX$##
	JRST	RAe6@ `g4 
	HRRZ	R0
	ADD	R0,[2,,1]
	BLT	R0,16(P)
	ADD	P,D13D13##	ADD	P,D13D13##g4P 
P(e
	IRP A,<	PUSH	P,A>A,g&
z 0)
	IFE PSEPUDO,<
	SKIPN PSUp.R0##	;0 MEANS INISTR NOT CALLED
0	POPJ	P,
	MOVEM	PR0,@PSU.R0##
	MOpVEM	R1,@PSU.R1##
	POPJ	P,>
	IFN 0PSEUDO,<
	POPJ	P,>DO,<
	POPJ	Pg'R,@ pgPuX@ gSk[P gSS ~0(

	LDB	R0,~P[TYPCOD+B,,A]
~p
	MOVEI	R1,@A(B)
	LOCSUB	CANON0$##
	IFNB <C>, P<MOVEM	R0,C>
	IpFNB <D>, <HRRZM	R1,D>
	IFE	BND.0CH,<
	IFNB <E>,P <HLRZM	R1,E>>
HLRZM	R1,E>>
g[@ h@@ hD@ i:=@ @i2I @ i<tq@ iJ
9 @ iR r'
	IFE MESr0SAG, <TLNN	P,STR.rPNW
		     TTCALL	3,M.A> TTCALLig;r@"qo"L:@ sj7@ t;@ S@P >}{woP