Google
 

Trailing-Edge - PDP-10 Archives - BB-4148D-BM - dbms-v5a/source/strdcl.unv
There are 17 other files named strdcl.unv in the archive. Click here to see a list.
x
,5*@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=  $2,AGC8@ I  ohJ

	IFN ApNYSIZ,<
	SKIPGE	p(C		;THIS IS IMPEpHRFECT
	JRST	[HRLphI	C,RMBYTE	;HEREq IF "440700" C
q(		 SOJA	C,.+1]
qH	A	B,C
	CAML	qhC,[MAXBP,,0]
	JrRST	[HRLI	C,RMBYr(TE
		 SOJA	C,.+rH2]
	ADD	C,[SIZ2rhPF,,0]>

	IFE AsNYSIZ,<
	IFNDEF s(SIZ,<SIZ=AP>
	IFsHNDEF POZ,<POZ=SVPsh>	;REGS 15 AND 16t
	SAVE <SIZ,POZ>t(
	LDB	SIZ,[BPSIZtH1,,C]
	LDB	POZ,th[BPPOS,,C]
	CAIuN	POZ,44		;CHARS u(ASSUMED LEFT ALIGuHNED
	JRST	[IDIV	uhPOZ,SIZ
		 MOVE	vPOZ,SIZ
		 LDB	Sv(IZ,[BPSIZ1,,C]
vH		 DPB	POZ,[BPPOSvh,,C]
		 SOJA	Cw,.+1]
	A	B,C
	ADD	POZ,SIZ
	CwHAIN	POZ,44		;CHARwhS ASSUMED LEFT ALxIGNED
	JRST	[IDIx(V	POZ,SIZ
		hDPBxH	SIZ,[BPPOS,,C]
		SOJA	C,.+2]
	DPB	POZ,[BPPOS,y(,C]
	RESTOR	<POZ,SIZ> >
R	<POI$J3 zh 

	IFN	A{NYSIZ,<
	HRRZ	A{(,R1
	SUB	A,LEN1{H
	HRRZ	T2,R0
	S{hUBI	T2,0(BP1)	;GI|VES WORD DIF OF T|(HE 2 BP
	IMULI	T|H2,CPW
	ADD	A,T2|h	;T2 IS NEG
	LDB}	T1,[BPPOS,,R0]
}(	LDB	T2,[BPPOS,,B}HP1]
	SUB	T2,T1
}h	IDIVI	T2,BYTSIZ
	ADD	A,T2>

	~(IFE ANYSIZ,<
	IF~HNDEF SIZ,<SIZ=AP>~h
	SAVE <SIZ>
	LDB	SIZ,[BPSIZ1,,B(P1]
	HRRZ	A,R1
	SUB	A,LEN1
	HhRRZ	T2,R0
	SUBI	T2,0(BP1)
	IMUL	(T2,CPW$##(SIZ)
	HADD	A,T2
	LDB	Th1,[BPPOS,,R0]
	LDB	T2,[BPPOS,,BP1(]
	SUB	T2,T1
	IHDIV	T2,SIZ
	ADD	hA,T2
	RESTOR	<SIZ>>
RESTOR	<SK;%R@ KF`@ KK|@ h 
	IFNB <B>,<
	JRST	[PUSH(	P,[B]
		 JRST	HA]>
	IFB <B>,<
	PUSHJ	P,A><Kb
=@ MVt= h!
;	SALL
		T.....=0
	ST...	(.=1
	IF2,<IFNDEF	H A,<EXTERNAL A>	h>
	IFNB <B>,<

	PUSH	P,AP
	IRP	
(B,<IFIDN <B> <$
H1>, <ST....=0>
	
h	   IFIDN <B> <$2>, <ST....=-1>
(		   IFDIF <B> <H$1>,<
			IFDIF <hB> <$2>,<
			  
 IFG ST....,<PUSH
(	P,B
			   T...
H..=T.....+1
>
	
h		   ST....=1>>>
	R.....=0
	RP<IB,<IFIDN.<B
		   IFIDN <B> <$2>, <ST....=-(1>
		   IFDIF <HB> <$1>,<
			IFDhIF <B> <$2>,<
			   IFE ST....,<(T......=T......+1H
				    PUSH	P,hB>
			   IFL ST....,<T.....=T...(..+1
				    PUSHH	P,[B]>
			   hIFG ST....,<T......=T......+1
			(		R.....=R.....+1H
					HRRZI	AP,-hT.....+R.....+1(P)
					PUSH	P,AP(
>
			   ST....H=1>>>>
	MOVEI	APh,-T.....+R.....+1(P)
	PUSHJ	P,A
	IFNB <B>,<
	SHUB	P,[T.....,,T..h...]
	POP	P,AP>..]
	POP	P,AP>Q&=P Q&Ep@ SAi @ Su|R@ S:%@  $1,ASB~:=@$A`YvX@@ Yr@ Yr @ Y>=1  ,
	C.....=(0
	IFNB <B>,< IHRP B,<C.....=C..h...+1
			 PUSH	P,B>>
	PUSHJ	P,(A 
	IFN C.....,<H SUB	P,[C.....,,C.....]>
...,,C[0@ [D,@#P[83P ['E[r@ [1@ [>$P@ [?SH@ ]>5@ _$@ `@ a @ a!ht@ aJ0@ a? !<
	SUB	P,D(13D13##
	HRLZ	APH,P
	ADD	AP,[1,,2]
	BLT	AP,16,2a?@ a? @ aN.YP d@@ dD@ dH@ eKy h!&
	IRP A,<	POP	P,A> A,e&XY@ e&\W H!4
	JRST	RAX$##
	JRST	RAe6@ `g4 (!0
	HRRZ	R0H,P
	ADD	R0,[2,,1h]
	BLT	R0,16(P)
	ADD	P,D13D13##	ADD	P,D13D13##g4P (!"
	IRP A,<	PUSH	P,A>A,g&
z !P
	IFE PSE(UDO,<
	SKIPN PSUH.R0##	;0 MEANS INhISTR NOT CALLED
	POPJ	P,
	MOVEM	(R0,@PSU.R0##
	MOHVEM	R1,@PSU.R1##
	POPJ	P,>
	IFN PSEUDO,<
	POPJ	P,>DO,<
	POPJ	Pg'R,@ pgPuX@ gSk[P gSS  B

	LDB	R0,([TYPCOD+B,,A]
H
	MOVEI	R1,@A(hB)
	LOCSUB	CANON$##
	IFNB <C>, (<MOVEM	R0,C>
	IHFNB <D>, <HRRZM	hR1,D>
	IFE	BND.CH,<
	IFNB <E>,( <HLRZM	R1,E>>
HLRZM	R1,E>>
g[@ h@@ hD@ i:=@ @i2I @ i<tq@ iJ
9 @ iR yhR
	IFE MESzSAG, <TLNN	P,STR.z(NW
		     TTCALL	3,M.A> TTCALLig;r@"qo"L:@ sj7@ t;@ S@P >}{woP