File: TECNUM.LS of Disk: V50/Source/Source-Listing-MAC-2
(Source file text) 

PAGE	LINE	SUBTITLE

  2	  31	Cmd 0
  2	  32	Cmd 1
  2	  33	Cmd 2
  2	  34	Cmd 3
  2	  35	Cmd 4
  2	  36	Cmd 5
  2	  37	Cmd 6
  2	  38	Cmd 7
  2	  39	Cmd 8
  2	  40	Cmd 9
  3	  80	Cmd )
  3	  90	Cmd (
  3	 101	Cmd .
  4	 119	Cmd &
  4	 120	Cmd #
  4	 121	Cmd /
  4	 122	Cmd *
  4	 123	Cmd -
  4	 124	Cmd +
  6	 185	Cmd :
  6	 198	Cmd ^]	*WM
  7	 204	Cmd F
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 1
                                                 FILE # 1

   1			/4 TECO NUMBER PROCESSOR V50
   2			
   3			/ 08-APR-79	FIXED 8BIT BUG
   4			
   5				.ENABLE 7BIT
   6			
   7				.MACRO	.ERROR	ERNUM
   8				.GLOBAL ERR'ERNUM
   9			ERR'ERNUM:	ERR
  10				.ENDM
  11			
  12				.MACRO	.SORT	ARG1,ARG2
  13				SORT;	ARG1;	ARG2-ARG1
  14				.ENDM
  15			
  16				.GLOBAL CCPR,COPR,CDOT,TSTD,VT05A,NMBR
  17				.GLOBAL CAMP,CNBS,CVIR,CAST,CMIN,CPLS
  18				.GLOBAL CTL.UA,CTL.CB,NCOMCL,CCLN,ESCAPE,CHR.F
  19				.GLOBAL NCOM,NRET,NMBR2,NMRBAS,NP,SCHTAB
  20			
  21				.EXTERNAL ERR,NCHK,POPL,GETNUM,PUSHL,POPJ,PUTT,SORT
  22				.ZTERNAL CHAR,ZM60,NMT,N,NLINK,Z11,NFLG
  23				.ZTERNAL P,ZM12,Z7770,CLNF,CAAM
  24				.EXTERNAL SCAN,MQLDVI,SCANUP
  25				.EXTERNAL SCHINV,SCHSEP,CSWT1,SCHCTQ,SCHCTE,SCHUPA
  26				.EXTERNAL CHR.FN,CHR.FS,CHR.FB
  27			
  28		7344  		MTWO=STA CLL RAL
  29		7346  		MTHREE=STA CLL RTL
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 2
                                                 FILE # 1

  30			
  31				.SBTTL	Cmd 0
  32				.SBTTL	Cmd 1
  33				.SBTTL	Cmd 2
  34				.SBTTL	Cmd 3
  35				.SBTTL	Cmd 4
  36				.SBTTL	Cmd 5
  37				.SBTTL	Cmd 6
  38				.SBTTL	Cmd 7
  39				.SBTTL	Cmd 8
  40				.SBTTL	Cmd 9
  41			
  42		0200  		.ASECT TECNUM
  43			
  44		1200  		*1200
  45			
  46	 01200	1000 *	NMBR,	TAD	CHAR	/NUMBER FOUND IN COMMAND STRING
  47	 01201	1000 *		TAD	ZM60
  48	 01202	3000 *	NMBR2,	DCA	NMT
  49	 01203	7100  		CLL
  50	 01204	0000 *		NCHK		/CHECK NUMBER FLAG
  51	 01205	5214  		JMP	NNEW	/NOT UP, NEW OPERAND
  52	 01206	1336  		TAD	DOPR
  53	 01207	3217  		DCA	NOPR	/USE SAME OPERATOR AS FOR THE PREVIOUS DIGITS
  54	 01210	1337  		TAD	NP	/MULTIPLY PREV DIGITS BY 10
  55	 01211	7106  		CLL RTL
  56	 01212	1337  	NMRBAS,	TAD	NP	/REPLACED BY "NOP" FOR OCTAL
  57	 01213	7104  		CLL RAL		/** COULD CHECK FOR OVERFLOW IN THIS AREA
  58	 01214	1000 *	NNEW,	TAD	NMT
  59	 01215	3337  	NCOM,	DCA	NP	/CURRENT NUMBER
  60	 01216	1337  		TAD	NP
  61			
  62	 01217	7410  	NOPR,	SKP		/DISPATCH JUMP FOR OPERATOR
  63	 01220	7061  		CML CIA
  64	 01221	1325  		TAD	NACC	/CURRENT EXPRESSION VALUE
  65	 01222	3000 *		DCA N
  66	 01223	7004  		RAL
  67	 01224	1314  		TAD	NACCLK	/ADD IN OLD LINK
  68	 01225	7010  		RAR
  69	 01226	7410  	NSKIP,	SKP		/*WM
  70	 01227	3000 *	NRET,	DCA	N
  71	 01230	7204  		CLA RAL		/*WM
  72	 01231	3000 *		DCA	NLINK	/SAVE LINK FOR POSSIBLE COMPARISON TEST
  73	 01232	1217  		TAD	NOPR
  74	 01233	3336  		DCA	DOPR
  75	 01234	1313  		TAD	NULLOP
  76	 01235	3217  		DCA	NOPR	/SET OPERATOR TO NULL OP
  77	 01236	7240  		STA
  78	 01237	5304  		JMP	DCPOPJ	/SET NUMBER FLAG AND EXIT
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 3
Cmd 9                                            FILE # 1

  79			
  80				.SBTTL	Cmd )
  81			
  82	 01240	7326  	CCPR,	STL CLA RTL	/2
  83	 01241	0000 *		POPL
  84	 01242	1217  			NOPR
  85	 01243	1325  			NACC
  86	 01244	1314  			NACCLK
  87	 01245	0000 *		GETNUM
  88	 01246	5215  		JMP	NCOM	/COMBINE OLD NUMBER AND PARENTHESIZED RESULT
  89			
  90				.SBTTL	Cmd (
  91			
  92	 01247	7346  	COPR,	MTHREE
  93	 01250	0000 *		PUSHL
  94	 01251	1314  			NACCLK
  95	 01252	1325  			NACC
  96	 01253	1217  			NOPR
  97	 01254	3000 *		DCA	N
  98	 01255	3000 *		DCA	NLINK
  99	 01256	5275  		JMP	CPLS	/CLEAN OUT INSIDE PARENS
 100			
 101				.SBTTL	Cmd .
 102			
 103	 01257	1000 *	CDOT,	TAD	P	/COMMAND .
 104			/** COULD CAUSE ERROR IF NFLG SET
 105	 01260	5334  		JMP	NCOMCL
 106			/NEWLNK,	0
 107			
 108			/SKIP IF DIGIT
 109			
 110	 01261	0000  	TSTD,	0
 111	 01262	1000 *		TAD	ZM60
 112	 01263	7100  		CLL
 113	 01264	1000 *		TAD	ZM12
 114	 01265	7620  		SNL CLA
 115	 01266	2261  		ISZ	TSTD
 116	 01267	5661  		JMP I	TSTD
 117			
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 4
Cmd .                                            FILE # 1

 118			
 119				.SBTTL	Cmd &
 120				.SBTTL	Cmd #
 121				.SBTTL	Cmd /
 122				.SBTTL	Cmd *
 123				.SBTTL	Cmd -
 124				.SBTTL	Cmd +
 125			
 126	 01270	7344  	CAMP,	MTWO				/*K* LOGICAL AND **
 127	 01271	1377  	CNBS,	TAD	(NIOR-NDIV		/LOGICAL OR
 128	 01272	1000 *	CVIR,	TAD	Z11			/DIVISION
 129	 01273	1376  	CAST,	TAD	(NMPY&177+5200-7400	/MULTIPLICATION
 130	 01274	1000 *	CMIN,	TAD	Z7770			/SUBTRACTION
 131	 01275	1226  	CPLS,	TAD	NSKIP			/ADDITION
 132	 01276	3217  		DCA	NOPR	/COMMON TO ALL NUMERIC OPERATORS
 133	 01277	1000 *		TAD	N
 134	 01300	3325  		DCA	NACC
 135	 01301	1000 *		TAD	NLINK
 136	 01302	3314  		DCA	NACCLK
 137	 01303	3337  		DCA	NP
 138	 01304	3000 *	DCPOPJ,	DCA	NFLG	/CLEAR NUMBER FLAG
 139	 01305	0000 *		POPJ
 140			
 141	 01306	0325  	NAND,	AND	NACC	/BITWISE AND OF BINARY NUMBERS
 142	 01307	5227  		JMP	NRET	/** KEEP THESE TWO OPNS TOGETHER
 143	 01310	7040  	NIOR,	CMA		/BITWISE OR OF BINARY VALUES
 144	 01311	0325  		AND	NACC
 145	 01312	1337  		TAD	NP
 146	 01313	5227  	NULLOP,	JMP	NRET
 147			
 148	 01314	0000  	NACCLK,	0		/LINK OF EXPRESSION WITHOUT NP
 149	 01315	7041  	NMPY,	CIA		/*** REALLY OUGHT TO IMPLEMENT 13-BIT MULTIPLY
 150	 01316	3331  		DCA	ND
 151	 01317	1314  		TAD	NACCLK
 152	 01320	7110  		CLL RAR		/SET UP OLD LINK
 153	 01321	1325  		TAD	NACC
 154	 01322	2331  		ISZ	ND
 155	 01323	5321  		JMP	.-2
 156	 01324	5227  		JMP	NRET
 157	 01325	0000  	NACC,	0		/VALUE OF EXPRESSION WITHOUT NP
 158	 01326	3331  	NDIV,	DCA	ND
 159	 01327	1325  		TAD	NACC
 160	 01330	0000 *		MQLDVI
 161	 01331	0000  	ND,	0
 162	 01332	5227  		JMP	NRET
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 5
Cmd +                                            FILE # 1

 163			
 164	 01333	0000 *	CTL.UA,	SCAN		/^^ COMMAND - VALUE OF NEXT CHAR IN COMMAND LINE
 165	 01334	7100  	NCOMCL,	CLL
 166	 01335	5215  		JMP	NCOM	/GO INTO NUMBER PROCESSOR
 167			
 168	 01336	0000  	DOPR,	0		/PREVIOUS OPERATOR
 169	 01337	0000  	NP,	0		/VALUE OF CURRENT NUMBER
 170			
 171			/SEARCH STRING MODIFIERS ^N,^Q,^S, AND ^X
 172			
 173		**** *		S.NOT==SCHINV&177+5200
 174		**** *		S.SEP==SCHSEP&177+5200
 175		**** *		S.ANY==CSWT1&177+5200
 176			
 177	 01340	0000 *	SCHTAB,	S.NOT		/^N: ANYTHING BUT
 178	 01341	0000 *		SCHCTQ		/^Q: LITERALLY
 179	 01342	0000 *		S.SEP		/^S: ANY SEPARATOR
 180	 01343	0000 *		S.ANY		/^X: ANYTHING
 181	 01344	0000 *		SCHCTQ		/^R
 182	 01345	0000 *		SCHCTE		/^E
 183	 01346	0000 *		SCHUPA		/^	(MUST BE LAST ENTRY)
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 6
Cmd +                                            FILE # 1

 184			
 185				.SBTTL	Cmd :
 186			
 187	 01347	7240  	CCLN,	STA
 188	 01350	3000 *		DCA	CLNF
 189	 01351	0000 *		POPJ
 190			
 191	 01352	0000  	ESCAPE,	0
 192	 01353	1000 *		TAD	CAAM	/TYPE ESCAPE
 193	 01354	0000 *	VT05A,	PUTT
 194	 01355	1752  		TAD I	ESCAPE
 195	 01356	0000 *		PUTT		/TYPE ARGUMENT
 196	 01357	5752  		JMP I	ESCAPE	/OK TO RETURN TO ARGUMENT
 197			
 198				.SBTTL	Cmd ^]	*WM
 199			
 200	 01360	6031  	CTL.CB,	KSF		/IS THERE INPUT WAITING? *VT52 CIF CDF 30
 201	 01361	7360  		STL STA		/IF NO INPUT -1		 *VT52 JMP I .+1
 202	 01362	5215  		JMP	NCOM	/IF INPUT =0		 *VT52 VTCCB
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 7
Cmd ^]	*WM                                       FILE # 1

 203			
 204				.SBTTL	Cmd F
 205			
 206	 01363	0000 *	FTAB,	CHR.FN
 207	 01364	0000 *		CHR.FS
 208	 01365	0000 *		CHR.FB
 209	 01366	0116  	FLST,	"N		/FN
 210	 01367	0123  		"S		/FS
 211	 01370	0137  		"_		/F_
 212			
 213	 01371	0000 *	CHR.F,	SCANUP		/COMMAND F
 214				.SORT	FLST,FTAB
 215				.ERROR	31	/BAD F COMMAND
	------
	 01376	5715  
	 01377	7762  
 216		1400  		PAGE
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 8
Cmd F                                            FILE # 1

 217			
/4 TECO NUMBER PROCESSOR V50      MACREL-V2C  FRI 07-DEC-90  PAGE 9
SYMBOL TABLE

CAAM	Z 0***			NULLOP	  1313			
CAMP	G 1270			P	Z 0***			
CAST	G 1273			POPJ	X ****			
CCLN	G 1347			POPL	X ****			
CCPR	G 1240			PUSHL	X ****			
CDOT	G 1257			PUTT	X ****			
CHAR	Z 0***			SCAN	X ****			
CHR.F	G 1371			SCANUP	X ****			
CHR.FB	X ****			SCHCTE	X ****			
CHR.FN	X ****			SCHCTQ	X ****			
CHR.FS	X ****			SCHINV	X ****			
CLNF	Z 0***			SCHSEP	X ****			
CMIN	G 1274			SCHTAB	G 1340			
CNBS	G 1271			SCHUPA	X ****			
COPR	G 1247			SORT	X ****			
CPLS	G 1275			S.ANY	G 0000+ S.ANY		
CSWT1	X ****			S.NOT	G 0000+ S.NOT		
CTL.CB	G 1360			S.SEP	G 0000+ S.SEP		
CTL.UA	G 1333			TECNUM	  1400  ASECT		
CVIR	G 1272			TSTD	G 1261			
DCPOPJ	  1304			VT05A	G 1354			
DOPR	  1336			ZM12	Z 0***			
ERR	X ****			ZM60	Z 0***			
ERR31	G 1375			Z11	Z 0***			
ESCAPE	G 1352			Z7770	Z 0***			
FLD: 0	  0200  ASECT		.ERROR	M 0000			
FLST	  1366			.SORT	M 0000			
FTAB	  1363			
GETNUM	X ****			
MQLDVI	X ****			
MTHREE	  7346			
MTWO	  7344			
N	Z 0***			
NACC	  1325			
NACCLK	  1314			
NAND	  1306			
NCHK	X ****			
NCOM	G 1215			
NCOMCL	G 1334			
ND	  1331			
NDIV	  1326			
NFLG	Z 0***			
NIOR	  1310			
NLINK	Z 0***			
NMBR	G 1200			
NMBR2	G 1202			
NMPY	  1315			
NMRBAS	G 1212			
NMT	Z 0***			
NNEW	  1214			
NOPR	  1217			
NP	G 1337			
NRET	G 1227			
NSKIP	  1226