Google
 

Trailing-Edge - PDP-10 Archives - BB-H506D-SM_1983 - conversion/utility/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= 9L$2,A 	GC8@ I  9

	IFN A(NYSIZ,<
	SKIPGE	HC		;THIS IS IMPEhRFECT
	JRST	[HRLI	C,RMBYTE	;HERE( IF "440700" C
H		 SOJA	C,.+1]
h	A	B,C
	CAML		C,[MAXBP,,0]
	J	(RST	[HRLI	C,RMBY	HTE
		 SOJA	C,.+	h2]
	ADD	C,[SIZ2
PF,,0]>

	IFE A
(NYSIZ,<
	IFNDEF 
HSIZ,<SIZ=AP>
	IF
hNDEF POZ,<POZ=SVP>	;REGS 15 AND 16(
	SAVE <SIZ,POZ>H
	LDB	SIZ,[BPSIZh1,,C]
	LDB	POZ,
[BPPOS,,C]
	CAI
(N	POZ,44		;CHARS 
HASSUMED LEFT ALIG
hNED
	JRST	[IDIV	
		OMOVE	
		ZLDB	SZ1,,C]
		 DPB	POZ,[BPPOS,,C]
		 SOJA	C(,.+1]
	A	B,C
	ADD	POZ,SIZ
	ChAIN	POZ,44		;CHARS ASSUMED LEFT AL(IGNED
	JRST	[IDIHV	POZ,SIZ
		DPBh	SIZ,[BPPOS,,C]
		(SOJA	C,.+2]
	DPB	POZ,[BPPOS,H,C]
	RESTOR	<POZ,SIZ> >
R	<POI$J3 9H

	IFN	A(NYSIZ,<
	HRRZ	AH,R1
	SUB	A,LEN1h
	HRRZ	T2,R0
	SUBI	T2,0(BP1)	;GI(VES WORD DIF OF THHE 2 BP
	IMULI	Th2,CPW
	ADD	A,T2	;T2 IS NEG
	LDB(	T1,[BPPOS,,R0]
H	LDB	T2,[BPPOS,,BhP1]
	SUB	T2,T1
	IDIVI	T2,BYTSIZ
	ADD	A,T2>

	HIFE ANYSIZ,<
	IFhNDEF SIZ,<SIZ=AP>
	SAVE <SIZ>
	L(DB	SIZ,[BPSIZ1,,BHP1]
	HRRZ	A,R1
	SUB	A,LEN1
	HRRZ	T2,R0
	SUBI	(T2,0(BP1)
	IMUL	HT2,CPW$##(SIZ)
	hADD	A,T2
	LDB	T1,[BPPOS,,R0]
	L(DB	T2,[BPPOS,,BP1H]
	SUB	T2,T1
	IhDIV	T2,SIZ
	ADD	A,T2
	RESTOR	<SIZ>>
RESTOR	<SK;%R@ KF`@ KK|@ 9V
	IFNB <(B>,<
	JRST	[PUSHH	P,[B]
		 JRST	hA]>
	IFB <B>,<
	PUSHJ	P,A><Kb
=@ MVt=  :X
;	SALL
 (	T.....=0
	ST... H.=1
	IF2,<IFNDEF h A,<EXTERNAL A>!>
	IFNB <B>,<
!(	PUSH	P,AP
	IRP	!HB,<IFIDN <B> <$!h1>, <ST....=0>
	"	   IFIDN <B> <$"(2>, <ST....=-1>
"H		   IFDIF <B> <"h$1>,<
			IFDIF <#B> <$2>,<
			  #( IFG ST....,<PUSH#H	P,B
			   T...#h..=T.....+1
>
	$		   ST....=1>>>
	R.....=0
	   I$HRP  B,<IFIDN <B$h> <$1>, <ST....=0%>
		   IFIDN <B%(> <$2>, <ST....=-%H1>
		   IFDIF <%hB> <$1>,<
			IFD&IF <B> <$2>,<
	&(		   IFE ST....,<&HT......=T......+1&h
				    PUSH	P,'B>
			   IFL ST'(....,<T.....=T...'H..+1
				    PUS'hH	P,[B]>
			   (IFG ST....,<T....((..=T......+1
			(H		R.....=R.....+1(h
					HRRZI	AP,-)T.....+R.....+1(P)()
					PUSH	P,AP)H
>
			   ST....)h=1>>>>
	MOVEI	AP*,-T.....+R.....+1*((P)
	PUSHJ	P,A
	IFNB <B>,<
	S*hUB	P,[T.....,,T..+...]
	POP	P,AP>..]
	POP	P,AP>Q&=P Q&Ep@ SAi @ Su|R@ S:%@ 9J$1,A 	SB~:=@$A`YvX@@ Yr@ Yr @ Y>=1 (9f
	C.....=H0
	IFNB <B>,< IhRP B,<C.....=C.....+1
			 PUSH	P(,B>>
	PUSHJ	P,HA 
	IFN C.....,<h SUB	P,[C.....,,C.....]>
...,,C[0@ [D,@#P[83P ['E[r@ [1@ [>$P@ [?SH@ ]>5@ _$@ `@ a @ a!ht@ aJ0@ a? .(:v
	SUB	P,D.H13D13##
	HRLZ	AP.h,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 -h:n
	JRST	RAX$##
	JRST	RAe6@ `g4 ,H:j
	HRRZ	R0,h,P
	ADD	R0,[2,,1-]
	BLT	R0,16(P)
	ADD	P,D13D13##	ADD	P,D13D13##g4P +H:\
	IRP A,<	PUSH	P,A>A,g&
z /(;

	IFE PSE/HUDO,<
	SKIPN PSU/h.R0##	;0 MEANS IN0ISTR NOT CALLED
0(	POPJ	P,
	MOVEM	0HR0,@PSU.R0##
	MO0hVEM	R1,@PSU.R1##
	POPJ	P,>
	IFN 1(PSEUDO,<
	POPJ	P,>DO,<
	POPJ	Pg'R,@ pgPuX@ gSk[P gSS (9|

	LDB	R0,H[TYPCOD+B,,A]
h
	MOVEI	R1,@A(B)
	LOCSUB	CANON($##
	IFNB <C>, H<MOVEM	R0,C>
	IhFNB <D>, <HRRZM	R1,D>
	IFE	BND.(CH,<
	IFNB <E>,H <HLRZM	R1,E>>
HLRZM	R1,E>>
g[@ h@@ hD@ i:=@ @i2I @ i<tq@ iJ
9 @ iR 9

	IFE MES(SAG, <TLNN	P,STR.HNW
		     TTCALL	3,M.A> TTCALLig;r@"qo"L:@ sj7@ t;@ S@P >}{woP