Google
 

Trailing-Edge - PDP-10 Archives - BB-J724A-SM_1980 - sources/ibmmac.unv
There are 22 other files named ibmmac.unv in the archive. Click here to see a list.
x
,5@P I$z 	(H?

  DEFI	PNE $ (NAM,SIZ,CNT	p,LVL) <
    $$ 	A,NAM,\..WD,B,\.	0.BT,SIZ,CNT,LVL
	P   >;end DEFINE $	p

  DEFINE $$. 	(NAM,SIZ,OB,OW,BT	0,WD,CNT) <
	 $	P$$. A,NAM,OB,OW,	pBT,WD,B,SIZ,CNT
   >;end DEFINE 	0$$.

  DEFINE $	P$$$ (NAM,BIT,SIZ,	pWRD) <
    $$$$$	 A,NAM,BIT,SIZ,	0B,WRD
   >;end D	PEFINE $$$$

  .	p.WD==0
  ..BT==-1

   ..BT==-S6YP S6Z7P S6i9P S6zP a  	D0LL	]`		
	$SAVE	Dh	<T1,T2,P4>			
		EMOVEI	T3,B				
	E(QQ==0
IFNB <D>,	EH<QQ==PVALSZ>
	JU	EhMPE	T3,.+3+QQ			
	PUSHJ	P,A				
	JUMPF	.RET				
	PVALSV	D				
	Fh;	ADD	T1,T3				
	G;	SUB	T2,T3				
	G(	PUSH	P,T1
	PUSH	GH	P,T2
	PUSH	P,T3	Gh
	PATGO
	POP	P,	HT3
	POP	P,T2
	P	H(OP	P,T1
	AOS	T3
QQ==0
IFG C,<
QQ==2
	CAILE	T3	I,C
	$RET>
	CAM	I(LE	T3,T2
	$RET
	IH	JRST	.-<15+QQ>
RST	.-<15+QQ>
MoL0M^-1Qa!`a  	*K
ZZZ==ZZZ	*0+1
ZZ==0
	$SAVE	*P	<T4,P1,P2,P3,P4,	*pS1,S2,P-1>	
	PUS	.H	P,T1				
	MOVE	.0	P-1,P				
	PATG	.PO	INIT				
	POP		.pP,T1				
	JRST	.	/RETF				
IRP A 	/0<					
	PAT.	A
>
PATTG						
	/p	MOVE	P,P-1				
	0	MOVE	T3,T1				
	00	POP	P,T1				
	S	0PUB	T3,T1				
	AD	0pD	T2,T3				
	JRST	.RETT				
RSa!` 	4K!				
PAT.. A
			
PAT.a!c@ 	4PK%			
PATTG
	A	B
PATTGa${` 	10K
	PAT	1PGO.	\ZZ,\ZZZ,A			
ZZ,\ZZZ,A		a${g 	2K			
IFB <	20C>,<
	PUSHJ	P,.	2PPSTR2			
>;END I	2pFB <C>
IFNB <C	3>,<
	PUSHJ	P,.PS	30TR3
>;END IFNB <	3PC>
	PUSHJ	P,%APB			
J	P,%Aa&I` 	5K+					
PAT	50TG. \ZZ,\ZZZ
ZZ==ZZ+1
ZZZ
ZZ=a&Ig 	5pK/			
%APB:
			
%APa
,p 	60K5				
	PAT	6PGO					
	$RET					
	
	$RET			aF  	AL				
	CAI	A0LE	T3,1				
	JRS	APT	.RETF				
	$SA	ApVE	<P1,T4>				
		BPUSHJ	P,.PSTR0				B0
	ILDB	S1,P1					BP
	CAIE	S1,"A"			Bp		
	JRST	.RETF			C		
	MOVEI	T3,1			C0		
	JRST	.RETT				
RST	.RETT		a@ 	9PKc				
	$SA	9pVE	<T1,T2,P3>			
	MOVE	P3,T3				
	SETZ	T3,				
		:PPUSHJ	P,A				
		:pJUMPF	.RET				
		;CAMGE	T3,P3				
	;0	$RET					
	PVAL	;PSV	B				
;	ADD		;pT1,T3				
;	SUB		<T2,T3				
	PATGO	<0					
	$RET					
	
	$RET					af@ 	7KI				
	PAT	70GO					
QQ==.				7P			
	SOS	T2				
	JUMPLE	T2,.RETF	8			
	AOS	T1				
IFDEF FTDEBUG <
	SKIPG	T1				
		8pHALT					
>;end 	9IFDEF FTDEBUG
	JRST	QQ-1				
Ja? 	R8M5			
	$SAV	RXE	<P1,P2,P3,S1>			Rx
IFNB <B>,<SETO	SM	B>			
	MOVE	P	S83,T3			
	DMOVE	P	SX1,T1			
IRP A,<	Sx	DMOVE	T1,P1			
	T	MOVE	T3,P3			
		T8PUSHJ	P,A			
IF	TXNB <B>,<AOS	B>		Tx		
QQ==0					
I	UFNB <C>,<QQ==PVA	U8LSZ>			
	JUMPF	.	UX+3+QQ			
	PVALSV	Ux	C			
;	ADD	T1,	VT3			
;	SUB	T2,T	V83			
	PATGO				
>;end IRP A
	JRST	.RETF			
JaO` 	J(M	]x		
	CAMLE	JX	T3,T2			
	JRST		Jx.RETF			
	$SAVE		K<T1,T2,P1,P2,P3,T	K84>	
	PUSHJ	P,.PS	KXTR0		
	SETZ	T4,		Kx		
	MOVE	P2,A			L	
	HLRZ	P3,P2				L8
	HRLI	P2,440700	LX		
	PUSH	P,P3				Lx
	PUSH	P,P2			
	MQQ==0					
						M8
IFG B,<	CAIL	T	MX4,B			
	JRST	.+	Mx10			
QQ==2>					N	
	ILDB	S1,P1				N8
	MOVE	P2,0(P)			NX	
	MOVE	P3,-1(P)	Nx		
	ILDB	S2,P2			O	
	CAMN	S1,S2				O8
	AOJA	T4,.-<5+Q	OXQ>		
	SOJG	P3,.-	Ox3			
	POP	P,S1
	P	POP	P,S1
	SKIPE	P8	T4			
	CAMGE	T4	PX,T3			
	JRST	.RE	PxTF			
	MOVE	T3,T	Q4			
	PVALSV	C		Q8		
;	ADD	T1,T3			QX	
;	SUB	T2,T3				Qx
	PATGO				
	JRST	.RET			
	JRMpLN-1aO&  	<pL				
	$SA	=VE	<P1,P2,P3,T4>		=0		
	MOVE	P2,A			=P		
	HLRZ	P3,P2			=p		
	CAMLE	T3,P3		>			
	JRST	.RETF		>0			
	MOVE	T4,P3		>P			
	HRLI	P2,440	>p700			
	PUSHJ	P,	?.PSTR0			
	ILDB		?0S1,P1				
	ILDB		?PS2,P2				
	CAME		?pS1,S2				
	JRST		@.RETF				
	SOJG		@0P3,.-4				
	MOVE	@P	T3,T4				
	JRST	.RETT				
RSTaZ	WMA			
PVALS	W8Z==2				
IFNB <	WXA>,<
	HRLM	T3,A	Wx			
	HRRM	T1,A		X		
>;end IFNB <A>
end IFNB <e0 	)JM
IRP A,<	)0
..RF==A
>;end	)P IRP A
PURGE ..RF
A
PURGE ..e>0 	XXMS
DEFINE R	Xx(N) <				
	R'N==	YN
>;end DEFINE R	Y8

..==0					;Co	YXunter
	REPEAT 20	Yx,<
	R	\..			;gen	Zerate register na	Z8me
..==..+1
>;end REPEAT 20
eg/P 	+JY
.SKP (E,A,B,C)
 (E,g/p 	-Ji
.SKP (G,A,B,C)
 (G,g/y  	-PJm
.SKP (GE,A,B,C)
(GEg/@ 	,Ja
.SKP (L,A,B,C)
 (L,g/I  	,PJe
.SKP (LE,A,B,C)
(LEg/` 	+PJ]
.SKP (N,A,B,C)
 (N,mKc@ " 2BYTE (3)A"@WHO (9)AVER (6)AMIN (18)AEDT 	0I

 ..TM=	P=0

 IFB <F>,<	p
  IFB <B>,<
 		  IFGE ..BT,<
  		0   ..WD==..WD+1
		P     ..BT==-1
	 		p  >;end IFN ..BT

   ..TM==1
   >	
0;end IFB B
  >;	
Pend IFB F

 IF	
pE ..TM,<
   ..CT	==1
   IFNB <G>	0,<..CT==G>
   .	P.SZ=^D36
	  IFNB	p <F>,<..SZ==F>

   ..OB==..BT
 	
0  ..OW==..WD

 	
P  REPEAT ..CT,<
	
pZ   ..BT=..BT+..S	
0-^D3IFG<<..BT	
P..WD=.	WD+1
p   	.BT=..SZ-1
 	     >;end IFG <.	0.BT-^D35>

    	P IFNB <B>,<
   	p   IFE ..TM,<
	$	$$$ B,\..BT,\..S	0Z,\..WD
        	P..RX==10
       	p RADIX ^D10
	DEF	STR (A.B,A$B(	0D),\..BT,\..SZ)
        RADIX ..	pRX
       >;end 	IFE ..TM
      .	0.TM==..TM+1
    	P >;End IFNB B
	p
    IFNB <H>,<$	$$ H,\..OB,\..OW	0,\..BT,\..WD>
  	P >;End Repeat ..C	pT
  >;End IFE ..TM
 End IFE ..  	0I'


  DEFI	PNE $. (NAM,SIZ,CN	pT) <
    $$. NAM	,SIZ,B,C,D,E,	0CNT
   >;end DEF	PINE $.

  ..BT1	p==B
  ..WD1==C
 
  ..WD1==C A 	$0J'

  A$B=	$P=F
  DEFINE A%	$pB<A$B(E)>
 B<A$B(E)>
 !` 	0J
  ..TM1=	P=0
	IFB <H>,<
    IFB <B>,<
	      ..WD1==..WD	01+1
      IFG <.	P.WD1-F>,<PRINTX 	p?Sublevel overflo	wed top for A.B	0>
      ..BT1==0	P
      IFE <..WD	p1-F>,<
        	IFG <..BT1-E>,<P	0RINTX ?Sublevel o	Pverflowed top bit	ps for A.B>
   	    >;end IFE <..	0WD1-F>
      ..	PTM1==1
     >;en	pd IFB,<B>
   >;	end IFB,<H>

 	0 IFE ..TM1,<
   	P ..CT1==1
    ..	pSZ1==^D36
    IF	NB <I>,<..CT1==	0I>
    IFNB <H>	P,<..SZ1==H>

 	p   REPEAT ..CT1,<	
      ..BT1==..	0BT1+..SZ1
      	PIFG <..BT1-^D35>,	p<
	..WD1==..WD1+	1
	IFG <..WD1-F	0>,<PRINTX ?Sub le	Pvel overflows top	p for A.B>
	..B	T1==..SZ1-1
	IFE	0 <..WD1-F>,<
	 	P IFG <..BT1-E>,<	pPRINTX ?Sub level	 overflows top bi	0ts for A.B>
	 	P>;end IFE <..WD1-	pF>
       >;end	  IFG <..BT1-^D35>	 0

      IFNB <	 PB>,<
	IFE ..TM1,	 p<
	  $$$$ B,\..	!BT1,\..SZ1,\..WD1	!0
	  ..RX==10
	 	!P RADIX ^D10
	  D	!pEFSTR (A.B,A$	"B(G),\..BT1,\..S	"0Z1)
	  RADIX ..R	"PX
	 >;end IFE ..	"pTM1
	..TM1==..TM	#1+1
       >;end	#0  IFNB <B>
    	#P >;end REPEAT ..C	#pT1
   >;end IFE ..TM1
 nd IFE 
u1A S@P &\zP$N^ 	%0J9

	CAIA
		%PJRST	e
	LOAD	.S	%pAC,C,D
IFNB <	&B>,<
	SKIPA	B,	&0.SAC
>;end IFNB 	&P<B>
IFB <B>,<
	SKIPA	.SAC
>;	'end IFB <B>
e:
IFB <B>
e:N^	w 	'PJE
IRP A,<	'p
DEFINE SKPA (A	(C,Y,STR) <
.SKP 	(0(A,AC,Y,STR)
>;	(Pend DEFINE SKPA
>;end IRP A
>}{woP