Google
 

Trailing-Edge - PDP-10 Archives - bb-l014t-bm_tops20_v7_0_atpch20 - autopatch/macten.unv
There are 93 other files named macten.unv in the archive. Click here to see a list.
x
,SP@PAC'DB)(AC2L{G j&U<^D35-<^L<j0RGHBT.(A)>>+<^D3jP7*<<^L<RGHBT.(A)>>/^D36>>>.(A)C:' W0-;TXZ	A,-1-<B>TXZ	A,-1-EJMj' ~X/~a@
W0.==A
W1.==B				;INIT@IALIZE BREAK MASK`
W2.==C
W3.==D
==C
W3.==6/k0,?0,<
DEF,A0	(AC,FL,;0CREF
IEJZ y8/_	..V22==ayX
	..V1==a
	IFNyxB <B>,<..V22==Bz>
REPEAT ..V22-<z8a>+1,<	
	%%W==.zX.V1/^D32	
	%%X==zx..V1-%%W*^D32	
	{IFE C,BRKC1 \"<%{8%W+"0">	
	IFN C{X,BRKC2 \"<%%W+"0"{x>
	..V1==..V1+1
		   >
.V1+1 |8/c	WA.==WA.!<1B<%%X>>
AEJ\4@ |x/i	WA.==WA}.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: wx/A
%%FOO==xa
	BRK0 (%%FOO,B,0)
 (%%FOO,EJn:g  0

	BRINI. A@,B,C,D	
	IRPC` E,<	UNBRK. "E">	
	IRPC F,<	BR KCH. "F">	
	EXP@ W0.,W1.,W2.,W3.		
W1.,W2.,W3.	ES| k&[
	REPEAT	k03,<
	TXCE	A,1B<B>!1B<C>
>B<EVMI +x%=
l==-1
,IRP E,<l==l+1
IFE D-l, <l==,X-1
IRP G,<l==,xl+1
IFE F-l, <-

;+.PARA -8
;-8XXXTTL	MACRO TO G-XENERATE A TITLE S-xTATEMENT OF THE F.ORM:
;.BREAK
;-.8TITLE A COMMENT .XVERSION
	DEFINE .xKTTL,<IFG I,<
/	TITLE	A - J  %/8BEG(H)-I
>I/XFE I,<
	TITLE	/xA - J  %BEG(0H)
>>

;+.PARA08 -8
;XXX137	MACR0XO TO SETUP LOCATI0xON 137 WITH THE S1PECIFIED
;-VERSI18ON NUMBER. NOTE: 1XTHE MACRO DOES IT1xS OWN "LOC" AND "2RELOC".
	DEFINE 28K137,<IFG I,<
2X	IF2,<LALL>
	LOC2x	137
	BYTE (3)K3WHO(9)KVER(6)KM38IN(18)KEDT	; A 3X%BEG(H)-I
	3xRELOC
	SALL
>	I4FE I,<
	IF2,<LA48LL>
	LOC	137
	B4XYTE (3)KWHO(9)K4xVER(6)KMIN(18)K5EDT	; A %BEG(58H)
	RELOC
	SAL5XL
>>

; MACRO 5xTO DEFINE VERSION6 # AT CURRENT LOC68ATION
;+.PARA -86X
;XXXVRS	MACRO T6xO DEFINE THE VERS7ION NUMBER AT AN
;-ARBITRARY USER7X LOCATION.
	DEFI7xNE KVRS,<IFG I,8<
	IF2,<LALL>
	88BYTE (3)KWHO(9)8XKVER(6)KMIN(18)8xKEDT	; A %BEG9(H)-I
	SALL
>98	IFE I,<
	IF2,<9XLALL>
	BYTE (3)9xKWHO(9)KVER(6)K:MIN(18)KEDT	; A:8 %BEG(H)
	SA:XLL
>>
; GENERA:xTE A PASS2 PRINTX; STATEMENT
;+.PA;8RA -8
;-XXXPTX	G;XENERATES A PASS2 ;xPRINTX STATEMENT.<
	DEFINE KPTX,<<8
	IF2,<
	IFG I<X,<PRINTX A %BE<xG(H)-I	J
>	I=FE I,<PRINTX A =8%BEG(H)	J
>=X>>

;+.PARA -8
;XXXSTL	THE XXXS>TL MACRO GENERATE>8S A NEW PAGE
;VI>XA THE MACRO PAGE >xPSEUDO-OP AND OPT?IONALLY
;DEFINES?8 A NEW SUBTTL COM?XMAND. THE CALL IS?x "XXXSTL (COMMENT@)".
;IF THE XXXS@8TL MACRO IS CALLE@XD WITH A NULL ARG@xUMENT A COMMENT
A; LINE IS GENERATA8ED AT THE BOTTOM AXOF THE CURRENT PAAxGE
; AND AT THE BTOP OF THE NEXT PB8AGE INDICATING THBXAT THE PAGE
;-HABxS BEEN CONTINUED.C
	DEFINE KSTL (C8TEXT),<IFNB <TEXTCX>,<
	SUBTTL	TEXTCx
	PAGE
>	IFB <TDEXT>,<
	LALL
	PD8AGE		; CONTINUED DXTO NEXT PAGE
	SADxLL		; CONTINUED FEROM PREVIOUS PAGEE8
>>
;+.PARA -8
;XXXUNV	MACRO TOEx GENERATE A UNIVEFRSAL STATEMENT. TF8HE MACRO IN
;EFFFXECT IS AN EXACT CFxOPY OF THE XXXTTLG MACRO EXCEPT THAG8T THE
;-WORD "UNGXIVERSAL" REPLACESGx THE WORD "TITLE"H.
	DEFINE KUNV,H8<IFG I,<
	LALL
	UNIVERSAL A - HxJ  %BEG(H)-II
	SALL
>IFE II8,<
	LALL
	UNIVEIXRSAL A - J  %BIxEG(H)
	SALL
J>>
;+.PARA -8
J8;XXXERR	MACRO TO JXTYPE A FATAL ERROJxR MESSAGE ON THE
;USER'S TERMINALK8. THE CALL IS OF KXTHE FORM:
;.BREAKxK
;XXXERR (ZZZ,ELRROR MESSAGE,<PDPL8-10 INSTRUCTION>)LX
;.BREAK
;ZZZ ILxS THE 3-CHARACTERM ERROR CODE, ERROM8R MESSAGE IS THE MXASCIZ
;STRING TOMx BE TYPED ON THE NTERMINAL AND PDP-N810 INSTRUCTION ISNX
;AN OPTIONAL ARNxGUMENT INDICATINGO WHAT THE USER WAO8NTS TO DO
;ABOUTOX THE ERROR JUST TOxYPED. IF THE ARGUPMENT IS NULL AN
P8;-EXIT IS EXECUTEPXD.
	DEFINE KERRPx (COD,MSG,INSTR),Q<
...'COD:	JRST	Q8[
	OUTSTR	[ASCIZQX \
? K'COD MSG\Qx]
	IFNB <INSTR>,R<INSTR>
	IFB <INR8STR>,<EXIT>
]>
RX
;+.PARA -8
;XXRxXWRN	MACRO SIMILASR TO THE XXXERR MS8ACRO EXCEPT THAT SXA
;WARNING MESSASxGE IS ISSUED RATHTER THAN A FATAL AT8ND
;-THE DEFAULTTX PDP-10 INSTRUCTITxON TO BE EXECUTEDU IS "JRST .+1".
U8	DEFINE KWRN (COUXD,MSG,INSTR),<
.Ux..'COD:	JRST	[
	VOUTSTR	[ASCIZ \
V8% K'COD MSG\]
	VXIFNB <INSTR>,<INSVxTR>
	IFB <INSTR>W,<JRST .+1>
]>
W8

STOPI>>STOPI>WX>
	PURGE l,m,n
URGE l,m,G@ p(7OP%%CA (A,B,)OP%%CA (AGD 
0(SOP%%CA (A,B,A)P%%CA (AGDP 0(COP%%CA (A,B,E)P%%CA (AGDp p(GOP%%CA (A,B,G)P%%CA (AGDy  	0(KOP%%CA (A,B,GE)%%CA (AGE@ 0(;OP%%CA (A,B,L)P%%CA (AGEI  p(?OP%%CA (A,B,LE)%%CA (AGE` 	p(OOP%%CA (A,B,N)P%%CA (AG&tkg l0&g
	DEFINE	lPINFO.(OPCODE,NEWAlpRG)<
	OPCODE	NEWARG>	OPCODE	NEWG>vC@ aP&LALL

		ap	   PAGE	;(CONTINbUED ON NEXT PAGE)b0
			   SALL	;(CObPNTINUED FROM PREVIOUS PAGE)
REVG?T x!oASCIZ \
COPYRIGHT Z \
CI6= rP'-
	..OLD==rp10
	..TYP==3
IFsE <C>+1,..TYP==0s0
IFE <C>-^O7777sP77,..TYP==1
IFE sp<C>-^O777777B17,t..TYP==2
..POS==t0POS(<C>)
..WID=tP=WID(<C>)
	RADItpX	10
	DF%%ST (\.u.TYP,A,<B>,\..Pu0OS,\..WID)
	PURGuPE	..OLD,..TYP,..POS,..WIDTYP,..PI(\z v'E

	RADIX	.v0.OLD
DEFINE	B (vPOPS,AC,E),<
	..Cvp==0
	IRP OPS,<
w		IFE A-..C,<
	w0		STOPI
			IFN 3wP-..C, OPS <AC>,Cwp'E
			IFE 3-..C,x OPS <AC>,[POINT x0E,C'E,D]
		>
	..C==..C+1>
	PURGE	..C>

	PI'7 (yOP%%IN	(A,B,DIV)%IN	(AKc  \h%^IRP A,<IF[h2,<IFNDEF A,<EXTERN A>>>A,<EXTM&. ))OP%%FP	(A,B,FADR)FP	(AM6. X)5OP%%FP	(A,B,FDVR)FP	(AM&eG i0&M<<A>!<<LFiPTBT.(A)>-<RGHBT.(A)>>>-<RGHBT.M7. )1OP%%FP	(A,B,FMPR)FP	(AMH(X6 r'
	DEFINE	A,<-^OB(P)>
MJn0'
	OLD%%%=nP=10	
	RADIX	8
	npN%%%==0		
IRP Ao,<
	FR%%AM (A,\o0<N%%%+1>)	
	N%%%oP==N%%%+1		
>
	AopDD	P,[N%%%,,N%%%]p	
	PUSHJ	P,b		
	  SKIPA
	AOS	-pPN%%%(P)	
	SUB	P,pp[N%%%,,N%%%]	
	PqOPJ	P,		
b:
	Rq0ADIX	OLD%%%
	PURqPGE	N%%%,OLD%%%
E	N%%%,OLD%%%
MN. X)-OP%%FP	(A,B,FSBR)FP	(AM\u|RQ O2|  \(&	
	IRP	A,\H<
	IF2,<
		.IF [HA,OPCODE,<.IFN [(A,LOCAL,<EXTERN [A>>
		.IF A,NEEZhDED,<EXTERN A>
`0		.IF A,OPDEF ,<`P.IFN A,LOCAL,<EX`pTERN A>>
		.IF aA,LOCAL ,<INTERN A>
	>>
TERNQf@ +SNn X(}OP%%IN	(A,B,IDIV)IN	(AS7-N X(uOP%%IN	(A,B,IMUL)IN	(AS;k kp&_<<<A>B<POS(<B>)>>&<B>>S? Vp-7TXO	A,<B>TXO	A,<BU +,U +(U  +$Up +U~` +"U?0 +0UKI@ +UVn	 iP.iIFE <<B>_ip1>,<
IFE <B>,<
	JUMP	A,D
>
j0IFN <B>,<
IFE <jP<C>&<B>>,<
	JUjpMPL	A,D
>
IFNk <<C>&<B>>,<
	k0JUMPGE	A,D
>>>kP
IFN <<B>1>,<
	TXCA	A,<<C>&<lB>>
	JRST	.+5
l0	TXCE	A,<<C>&<lPB>>
	JRST	D
	TlpXNE	A,<<-<C>-1>m&<B>>
	JRST	D
>>>
	JRST	D
' eP.I
IFE <<Bep>_1>,<
IFE <B>,f<
	JUMPA	A,D
f0>
IFN <B>,<
IFfPE <<C>&<B>>,<
fp	JUMPGE	A,D
>g
IFN <<C>&<B>>,g0<
	JUMPL	A,D
gP>>>
IFN <<B>_1>gp,<
	TXCA	A,<<Ch>&<B>>
	JRST	.+h05
	TXCE	A,<<C>hP&<B>>
	JRST	.+3hp
	TXNN	A,<<-<Ci>-1>&<B>>
	JRST	D
>>>
	JRSTUVn
 mP//
IFDIF <mpB><C>,<
	JFCL	1n,.+1		
	JRST	.+1n0		
IFNB <B>,<	JnPFCL	1,B
oIFNB np<C>,<IFIDN <C><oD>,<IFIDN <D><o0E>,< JRST	C>>>>
IFB <B>,<	JFCL	op1,i
  IFIDN <Cp><D>,<IFIDN <D>p0<E>,< JRST	C>>>pP
>

IFDIF <C>pp<D>,<
	HRLOI	Aq,-2		
IFNB <C>,q0<	AOBJP	A,C
  qPIFNB <D>,<IFIDN qp<D><E>,<JRST	Dr>>>
IFB <C>,<IFr0DIF <D><E>,<AOBrPJP A,i>
	    IrpFIDN <D><E>,<AOsBJN A,D>>
>
s0
IFDIF <D><E>,<sP
	IF2,<IFE A,<PspRINTX ? A MUST BtE NON-ZERO IN JUMt0PPT>>
	MOVEI	A,tP0		
	BLT	A,0		
IFNB <D>,<	JUMPuE	A,D
  IFNB <u0E>,<	JRST	E>>
uPIFB <D>,<	JUMPN	upA,E>
>

i:A,E>
>

i:Y$- hp&G<1B<^L<A>>><1B<^L<A>Y tQ xY>
C@ y'K B (<MOVEy0,HRRZ,HLRZ,LDB>,<A>,<C>)LDB>,<YO%yG c&!
	IFNDEF	c0LSTIN.,	LSTIN.==0cP
IFE LSTIN.,<
	cpIFB <A>,	.XCREF
			XLIST>
LSTIN.==LSTIN.+1
INYO%{G dP&+
IFG LSTIdpN., LSTIN.==LSTINe.-1
IFLE LSTIN.,e0<	.CREF
		LIST>
CREF
		LIST> <x+{IFG 0,<
	=IF2,<LALL>
	BYTE=8 (3)MACWHO(9)MACV=XER(6)MACMIN(18)MA=xCEDT	; MACTEN %5(>46)-0
	SALL
>	I>8FE 0,<
	IF2,<LAL>XL>
	BYTE (3)MACW>xHO(9)MACVER(6)MAC?MIN(18)MACEDT	; M?8ACTEN %5(46)
	SALL
>5(46)
	SA[3@ gp&?<<<1_<A>>-1>B<B>>_<A>>[>&: X%G
	LALL
	X8%%A==BYTE (3)AWXXHO(9)AVER(6)AMIXxN(18)AEDT
	SALL
)AEDT
	SALL[?7 {p(
	.XCREF
	TEST%%=B
.IFN|0 <TEST%%>,ABSOLUT|PE,<
	.CREF
	MOV|pE	A,[B]
	.XCRE}F
>
.IF <TEST%%}0>,ABSOLUTE,<
	TE}PST%%=0
IFE	<<B>}p_-^D18>,<
	TEST%~%=1
	.CREF
	MOV~0EI	A,<B>
	.XCR~PEF
>
IFE	TEST%%~p,<IFE	<<B>_^D18>,<
	TEST%%=1
	.0CREF
	MOVSI	A,(PB)
	.XCREF
>>p
IFE	TEST%%,<IFE	<<<B>_-^D18>-^O7077777>,<
	TEST%%P=1
	.CREF
	HRROpI	A,<B>
	.XCREF
>>
IFE	TEST%%0,<IFE	<<<B>^D18P>-^O777777B17>,<
	TEST%%=1
	.CREF
	HRLOI	A,(<B0>-^O777777)
	.XCPREF
>>
IFE	TESTp%%,<
	.CREF
	MOVE	A,[B]
	.XCR0EF
>
>	;[35][32P] END OF .IF <B>p,ABSOLUTE
	PURGE	TEST%%
	.CREF[Vg (qOP%%IN	(A,B,MUL)%IN	(A] YX&IF2,<IFDEFY8 A,<A==A>> IFN`DEF A,<A==<B>>F A,<A==<B>>]` _H%vND (A,<B_(>)
PRINTX %PLEAS^HE USE ND MACRO, N^hDS. MACRO IS NOW OBSOLETE
 NOW _@(Xp 
p(e
	.XCREF
IFE	<<B>_-^D18>0,<
	.CREF
	CAIPC	A,<B>
	.XCRExF
>
IFN	<<B>_-
^D18>,<
	.CREF

8	CAMC	A,[B]
	
X.XCREF
>
	.CREFCREF
>
	.CREF_@(YX )E
	.XCREF
IFE	<<B>_^D18>,X<
	.CREF
	CI	xA,(B)
	.XCREF
>
IFN	<<B>_^D188>,<
	.CREF
	C	XA,[B]
	.XCREF
>
	.CREFCREF)
	.XCREF
	TEST%%=0
IFE	<X<<B>_-^D18>-^O77x7777>,<
IFN	<<B>&^O777777>,<
	T8EST%%=1
	.CREF
X	DI	A,-<B>
	.xXCREF
>>
IFE	TEST%%,<
	OP%%IN	8A,<B>,C
>
	PUXRGE	TEST%%
	.CREF	TEST%%
	.CRE_@(Z7 )%
	.XCREF
IFE	<<B>_-^D18>X,<
	.CREF
	CI	xA,<B>
	.XCREF
>
IFN	<<B>_-^D818>,<
	.CREF
	XC	A,[B]
	.XCREF
>
	.CREFCRE_@(] R0-3

	.XCREF
IFN <<A>&^O7777Rp77777760>, PRINTXS ? A IS NOT AN AS0CCUMULATOR

	TESPMP%%=0
IFE	<<B>Sp_^D18>,<
IFN	<BT>,<
	TEMP%%=1
	T0.CREF
	C	A,(BTP)
	.XCREF
>>
ITpFE	<<B>_-^D18>,<U
	TEMP%%=1
	.CRU0EF
	D	A,<B>
UP	.XCREF
>
IFE	TUpEMP%%,<
	.CREF
V	E	A,[B]
>
	V0PURGE	TEMP%%
	.CREF	TEMP%%
	.Ca
tTQ  a
tTP a
tQ a
t*9Q a
t>(Q  a
t>(Q a
tk{Q a
tm3Q a
uJ8Q @a
uiQ a
u}SQ @a
v	P a
vM	P a
vZ7Q a
v\yQ a*n	r 5 a*n 4`a+= 5a+= +a+ - a+-\ 4@a+-\ 5`a+-\ 4 a+-\ 5@a>Mm g&;<POINT	WIDg0(B),A,POS(B)>B),A,POS(B)>a?H6 +a? f0&5<^L<A>+^LfP<-<<A>_<^L<A>>>-1>-1><^L<A>>>e$YG m0&o
	DEFINE	mPINFO.(OPCODE,NEWAmpRG)<
	OPCODE	<A
	NEWARG>>	<AeD- h0&C<<A>&-<A>><<A>&-<Ae tP'g"~s@ ^(%p	.XCREF
	^EXP	<A>
	.ORG	.-1
			.CREFG	.gR~#@ yp'Q B (<MOVEzM,HRRM,HRLM,DPB>,<A>,<C>)DPB>,gR~)  0(3
IFE <D>P,<	SETZM	B>	
IFpE <D>+1,<	SETOM	B>	
IFN <D>*<<0D>+1>,<MOVX	A,<PD>	
		   MOVEM pA,B>	
IFNB <C>,<			
	MOVE	A,0[B,,B+1]
	BLT	A,C		
>	BLT	gV(,B,SUB,ADD)(Ai'%I' x"[
	.XCREF
	Z==0
	IFNDEF  8AVER,<Z==-1>
	IF XNDEF AMIN,<Z==-1 x>
	IFNDEF AEDT,!<Z==-1>
	IFNDEF !8AWHO,<Z==-1>
	I!XFL Z,<PRINTX ?SYM!xBOLS AWHO,AVER,"AMIN AND AEDT N"8OT DEFINED
	PRIN"XTX ?VERSION SYMBO"xLS MUST BE DEFINE#D BEFORE CALLING #8TITLE. MACRO
END#X>
	.CREF
	IF2,<#xLALL>
	ASIX==SI$XBIT /A/	; B AB$8BREVIATION IN SIX$XBIT
	AASC==ASCI$xZ /A/	; B ABBRE%VIATION IN ASCII
	SALL
	.XCREF
%X%FIRST=AMIN/^D26%x
IFE %FIRST,<%SE&CON==AMIN
	%FIR&8ST==0>
IFG %FIRS&XT,<%SECON=AMIN-<&x^D26*%FIRST>>
IF'E AMIN-^D26,<%SE'8CON==AMIN
	%FIR'XST=0>
IFE AMIN-'x^D52,<%SECON==^D2(6
	%FIRST=1>
; (8DEFINE ALL THE MA(XCROS
BUILD$ (B,(x\AVER,\AMIN,\%F)IRST,<,A,B,C,D,E,)8F,G,H,I,J,K,L,M,N)X,O,P,Q,R,S,T,U,V,)xW,X,Y,Z>,\%SECON,*<,A,B,C,D,E,F,G,H*8,I,J,K,L,M,N,O,P,*XQ,R,S,T,U,V,W,X,Y*x,Z>,\AEDT,\AWHO+,C,A)

	IF2,<+8PURGE %SECON,%FIRST,Z>
.CREFFIRib "X-
	.XCREF
IFB <B>, TXC	(<NP^O37777777&A>,1BNp<A_-^D30>)
IFNBO <B>,<
IFN <<AO0>&^O777777777760>OP, PRINTX ? A IS OpNOT AN ACCUMULATOPR
IFE	<<<B>_-^DP018>-^O777777>,<
PP	.CREF
	EQVI	A,Pp<,,-1-<B>>
	.XCQREF>
IFN	<<<B>_Q0-^D18>-^O777777>,QP<
	OP%%TX	A,<BQp>,TLC,TRC,TDC
>>	.CREFC,TDC
>>ib L0,o
	.XCREF
IFB  <B>,	OP%%TLpX	<^O37777777&A>M,1B<A_-^D30>,TLCM0A,TRCA,TDCA
IFNBMP <B>,	OP%%TX	A,Mp<B>,TLCA,TRCA,TDCA
	.CREF
,TDibP 4x+3
	.XCREF
IFB  <B>,	OP%%T58X	<^O37777777&A>5X,1B<A_-^D30>,TLC5xE,TRCE,TDCE
IFNB6 <B>,	OP%%TX	A,68<B>,TLCE,TRCE,TDCE
	.CREF
,TDib` 6x,_
	.XCREF
IFB  <B>,	OP%%TJpX	<^O37777777&A>K,1B<A_-^D30>,TLCK0N,TRCN,TDCN
IFNBKP <B>,	OP%%TX	A,Kp<B>,TLCN,TRCN,TDCN
	.CREF
,TDibp )M
IFB <B>8, JFCL	0
IFNB <XB>, TRN	A,<,,<B>>
N	A,<,,<Bibt &x*C
	.XCREF
IFB  <B>,	OP%%T'8X	<^O37777777&A>'X,1B<A_-^D30>,TLN'xA,TRNA,TDNA
IFNB( <B>,	OP%%TX	A,(8<B>,TLNA,TRNA,TDNA
	.CREF
,TDibtC@ b.)
IFE <<Bb0>_<1+^L<B>>>,<
bPIFE <<B>&<C>>,<bp
	TXNN	A,<B>
c>
IFN <<B>&<C>c0>,<
	TXNE	A,<BcP>
>>
IFN <<B>_cp<1+^L<B>>>,<
	TdXCA	A,<<C>&<B>d0>
	JRST	.+4
	TXdPCE	A,<<C>&<B>>dp
	JRST	.+3
	TXNeN	A,<<-<C>-1>&<B>>
>C>-1>&<ibtP "x*#
	.XCREF
IFB  <B>,	OP%%T#8X	<^O37777777&A>#X,1B<A_-^D30>,TLN#xE,TRNE,TDNE
IFNB$ <B>,	OP%%TX	A,$8<B>,TLNE,TRNE,TDNE
	.CREF
,TDibu@ ^P.
IFE <<B^p>_<1+^L<B>>>,<
_IFE <<B>&<C>>,<_0
	TXNE	A,<B>
_P>
IFN <<B>&<C>_p>,<
	TXNN	A,<B`>
>>
IFN <<B>_`0<1+^L<B>>>,<
	T`PXCA	A,<<C>&<B>`p>
	JRST	.+4
	TXaCE	A,<<C>&<B>>a0
	JRST	.+2
	TXNaPE	A,<<-<C>-1>&<B>>
>C>-1>&<ibu` $x*3
	.XCREF
IFB  <B>,	OP%%T%8X	<^O37777777&A>%X,1B<A_-^D30>,TLN%xN,TRNN,TDNN
IFNB& <B>,	OP%%TX	A,&8<B>,TLNN,TRNN,TDNN
	.CREF
,TDibx 8*
	.XCREF
IFB <B>, TXO	(<x^O37777777&A>,1B<A_-^D30>)
IFNB8 <B>,<
IFN <<AX>&^O777777777760>x, PRINTX ? A IS  NOT AN ACCUMULATO 8R
IFE	<<<B>_-^D X18>-^O777777>,<
 x	.CREF
	ORCMI	A!,<,,-1-<B>>
	.X!8CREF>
IFN	<<<B>!X_-^D18>-^O777777>!x,<
	OP%%TX	A,<"B>,TLO,TRO,TDO
>>	.CREFO,TDO
>ib| 2x+#
	.XCREF
IFB  <B>,	OP%%T38X	<^O37777777&A>3X,1B<A_-^D30>,TLO3xA,TROA,TDOA
IFNB4 <B>,	OP%%TX	A,48<B>,TLOA,TROA,TDOA
	.CREF
,TDib|P .x+
	.XCREF
IFB  <B>,	OP%%T/8X	<^O37777777&A>/X,1B<A_-^D30>,TLO/xE,TROE,TDOE
IFNB0 <B>,	OP%%TX	A,08<B>,TLOE,TROE,TDOE
	.CREF
,TDib}` 0x+
	.XCREF
IFB  <B>,	OP%%T18X	<^O37777777&A>1X,1B<A_-^D30>,TLO1xN,TRON,TDON
IFNB2 <B>,	OP%%TX	A,28<B>,TLON,TRON,TDON
	.CREF
,TDicP )o
	.XCREF
IFB <B>, TXZ	(<X^O37777777&A>,1Bx<A_-^D30>)
IFNB <B>,<
IFN <<A8>&^O777777777760>X, PRINTX ? A IS xNOT AN ACCUMULATO8R
IFE	<<<B>_-^D18>-^O777777>,<
X	.CREF
	ANDI	A,x<,,-1-<B>>
	.XCREF>
IFN	<<<B>_8-^D18>-^O777777>,X<
	OP%%TX	A,<Bx>,TLZ,TRZ,TDZ
>>	.CREFZ,TDZ
>>icT ,x*s
	.XCREF
IFB  <B>,	OP%%T-8X	<^O37777777&A>-X,1B<A_-^D30>,TLZ-xA,TRZA,TDZA
IFNB. <B>,	OP%%TX	A,.8<B>,TLZA,TRZA,TDZA
	.CREF
,TDicTP (x*S
	.XCREF
IFB  <B>,	OP%%T)8X	<^O37777777&A>)X,1B<A_-^D30>,TLZ)xE,TRZE,TDZE
IFNB* <B>,	OP%%TX	A,*8<B>,TLZE,TRZE,TDZE
	.CREF
,TDicU` *x*c
	.XCREF
IFB  <B>,	OP%%T+8X	<^O37777777&A>+X,1B<A_-^D30>,TLZ+xN,TRZN,TDZN
IFNB, <B>,	OP%%TX	A,,8<B>,TLZN,TRZN,TDZN
	.CREF
,TDif` ]0-q
	MOVX	A]P,1B<B_-^D30>
	.]pXCREF
	<XORM	A,^>!<37777777&B>
	.CREF
7&B>
iftS@ X0-I
	MOVX	AXP,1B<B_-^D30>
	.XpXCREF
	<TDNE	A,Y>!<37777777&B>
	.CREF
7&B>
ifuc@ YP-S
	MOVX	AYp,1B<B_-^D30>
	.ZXCREF
	<TDNN	A,Z0>!<37777777&B>
	.CREF
7&B>
ify` Zp-]
	MOVX	A[,1B<B_-^D30>
	.[0XCREF
	<IORM	A,[P>!<37777777&B>
	.CREF
7&B>
igQ` \-g
	MOVX	A\0,1B<B_-^D30>
	.\PXCREF
	<ANDCAM	\pA,>!<37777777&B>
	.CREF
7&B>k:*g xX/G
%%FOO==xxa
	BRK0 (%%FOO,B,1)
 (%%FOO,mHtYP'mHuZ7Q xmHvi9Q |mHvzQ pmKc@ Yx%QBYTE (3)AZWHO (9)AVER (6)AMIN (18)AEDTo&  ep&/<^L<-<<A>_<^L<A>>>-1>>>q"eJ  P q*-` +
q+= +q+= +
q6~i4 C q? Wp-?TXC	A,<B>TXC	A,<Bq@ ](%lIFB <C>,<]HA==:<B>> IFNB <C>,<A=:<B>><qBp +qN5P +us@ zP'[ B (<SETZzpM,HLLZS,HRRZS,<PR{INTX ?CAN'T ZERO {0BYTE>>,<A>,<C>)TE>>,<A>,<C>)
lzQ 
| !k
	XLIST
8	.ORG 0
	LIST
.ORG 0
	LIST
D	P ?DP >D)6P D8YP D8sP D;PP D;QP D;QP D;RP D;RP D;SP D;TP D;WP D;WP D;XP D;XP D;YP 	D;YP 	D;ZP 
D;ZP 
D;[P D;[P D;\P 
D;\P 
D;]P D<ZP D=7P DI6P ?D\qP S@P | 8!{
	XLIST
X	.....X=.
	.ORG
	.ORG 0
	REPEAT .....X,<EXP 0>
8	PURGE .....X
	.ORG
	LIST

	.&tj7Q ?6MiTQ @O,pP O,tP O,vP O,P j.+jP >}{woP