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

/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 1
                                                 FILE # 1

   1			/CCL COMMAND DECODER FOR KBM V50
   2			/
   3			/
   4			/
   5			/
   6			/
   7			/	CCL'S COMMAND DECODER
   8			/	VERSION=5A
   9			
  10		0000  		.RSECT CCLCD
  11			
  12				.EXTERNAL TABLES,FNAME1
  13				.EXTERNAL SWTCHS
  14				.EXTERNAL DONB,REGO
  15				.EXTERNAL NAMPTR
  16				.EXTERNAL FLAG,MOVE
  17				.EXTERNAL PRNAME,PRWD,ERROR
  18				.EXTERNAL LBEGIN,DECODE
  19				.EXTERNAL ARLOC
  20				.EXTERNAL DEFILE
  21				.EXTERNAL OUTSW,OUTLIM
  22				.EXTERNAL EQLPRM,POUND,DNUMB
  23			
  24				.ENTRY GETSPC,CDNORM
  25				.ENTRY CD,ASSIGN,LOOKUP,ZEROCD,GCH
  26				.ENTRY SETDEV
  27				.ENTRY NMOVE
  28				.ENTRY CCER1
  29			
  30			/THE FOLLOWING DON'T HAVE TO BE ENTRY'S BECAUSE THEY ARE LINKED TO
  31			/FROM THE EXTENSION MODULE (CCLCDX) THAT KNOWS CCLCD IS IN MEMORY
  32				.GLOBAL LV
  33				.GLOBAL DVICE		/******
  34				.GLOBAL ASADR,LNAME	/******
  35				.GLOBAL UNKN,SETEXT	/******
  36				.GLOBAL	CDER0		/** CALLED BY OPNSUB
  37			
  38		0001  		FIELD 1
  39			
 142			
 143		0001  		MULTI=1		/SET TO 0 TO GET RID OF MULTIPLE CHARACTER SWITCHES
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 3
                                                 FILE # 1

 144			
 145			
 146	 10000	0000  	CD,	0
 147	 10001	4777  		JMS I	(CDINIT
 148	 10002	1776  	BEGGRP,	TAD I	(OUTSW
 149	 10003	7650  		SNA CLA
 150	 10004	1334  		TAD	BEGDIF	/DIFF BETWEEN INPUT & OUTPUT AREAS
 151	 10005	1375  		TAD	(MOFILE-1
 152	 10006	3035  		DCA	CLXR
 153	 10007	4774  		JMS I	(GETSPC	/FAKE-OUT TO GETSPC CAN CAUSE EFFECTIVE BRANCH HERE
 154	 10010	4773  		JMS I	(ASSIGN
 155	 10011	1776  		TAD I	(OUTSW
 156	 10012	7650  		SNA CLA
 157	 10013	1333  		TAD	LIMDIF	/DIFF BETWEEN END OF OUTPUT & INPUT AREAS
 158	 10014	1772  		TAD I	(OUTLIM	/END OF OUTPUT AREA
 159	 10015	1035  		TAD	CLXR
 160	 10016	7700  		SMA CLA
 161	 10017	5771  		JMP I	(CDER1
 162	 10020	4770  		JMS I	(CCLSWT
 163	 10021	1776  		TAD I	(OUTSW
 164	 10022	7650  		SNA CLA
 165	 10023	7402  	LKUPSW,	HLT		/0 IF SPEC. DECODE MODE, JMP LKUPIN IF NORMAL
 166	 10024	1767  		TAD I	(DVICE
 167	 10025	4766  		JMS I	(PCLXR
 168	 10026	1023  		TAD	NAME1
 169	 10027	4766  		JMS I	(PCLXR
 170	 10030	1024  		TAD	NAME2
 171	 10031	4766  		JMS I	(PCLXR
 172	 10032	1025  		TAD	NAME3
 173	 10033	4766  		JMS I	(PCLXR
 174	 10034	1026  		TAD	NAME4
 175	 10035	5241  		JMP	NLKUPI
 176	 10036	4765  	LKUPIN,	JMS I	(LOOKUP
 177	 10037	4766  		JMS I	(PCLXR	/STORE LENGTH AND DEV NUMBER
 178	 10040	1764  		TAD I	(LNAME	/GET BLOCK
 179	 10041	4766  	NLKUPI,	JMS I	(PCLXR
 180	 10042	4763  		JMS I	(ALLSWT
 181	 10043	1776  		TAD I	(OUTSW
 182	 10044	7650  		SNA CLA
 183	 10045	1762  		TAD I	(FLAG
 184	 10046	7106  		CLL RTL
 185	 10047	7710  		SPA CLA		/FEATURE ENABLED?
 186	 10050	1223  		TAD	LKUPSW
 187	 10051	7650  		SNA CLA
 188	 10052	5266  		JMP	DLOOK	/IN SPECIAL MODE OR ON OUTPUT SIDE
 189	 10053	1032  		TAD	DELIM
 190	 10054	1361  		TAD	(-"+
 191	 10055	7650  		SNA CLA
 192	 10056	5265  		JMP	NBS
 193	 10057	1760  		TAD I	(DONB
 194	 10060	7640  		SZA CLA
 195	 10061	5265  		JMP	NBS
 196	 10062	1357  		TAD	(7600	/V1A NOW TAKES ARG IN AC
 197	 10063	4756  		JMS I	(NMOVE	/MOVE NAME TO OUTPUT FILE NAMES
 198	 10064	5266  		JMP	DLOOK
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 4
                                                 FILE # 1

 199			
 200			
 201	 10065	4755  	NBS,	JMS I	(ZERR
 202	 10066	7240  	DLOOK,	STA
 203	 10067	3754  		DCA I	(DVFLAG
 204	 10070	1032  		TAD	DELIM
 205	 10071	7450  		SNA
 206	 10072	5600  		JMP I	CD
 207	 10073	1353  		TAD	(-"[
 208	 10074	7450  		SNA
 209	 10075	5752  		JMP I	(OLENGT
 210	 10076	1351  		TAD	("[-"+
 211	 10077	7440  		SZA
 212	 10100	1350  		TAD	("+-",
 213	 10101	7450  		SNA
 214	 10102	5747  		JMP I	(FILLP	/**** JUMPING INTO ROUTINE (IS THIS A BUG?)
 215	 10103	1346  		TAD	(",-"<
 216	 10104	7440  		SZA
 217	 10105	1345  		TAD	("<-"_
 218	 10106	7450  		SNA
 219	 10107	5326  		JMP	5$	/BACK-ARROW (UNDERSCORE) MEANS SAME AS "<"
 220	 10110	1344  		TAD	("_-"=
 221	 10111	7640  		SZA CLA		/SKIP ON AN EQUAL SIGN (=)
 222	 10112	5743  		JMP I	(CDER2	/BAD CHAR
 223	 10113	4742  		JMS I	(GLXR
 224	 10114	4741  		JMS I	(DECODE
 225	 10115	7100  		CLL
 226	 10116	7240  		STA		/LINK=0 MEANS LETTER
 227	 10117	1034  		TAD	LXR	/NOW LINK=1 MEANS LETTER
 228	 10120	3034  		DCA	LXR
 229	 10121	7430  		SZL
 230	 10122	5326  		JMP	5$	/= MEANS "<"
 231	 10123	4740  		JMS I	(EQLPRM	/= MEANS = (NUMERIC PARAMETER)
 232	 10124	4763  	DL2:	JMS I	(ALLSWT
 233	 10125	5266  		JMP	DLOOK
 234	 10126	2776  	5$:	ISZ I	(OUTSW	/FOUND BACK-ARROW (<)
 235	 10127	5743  		JMP I	(CDER2	/TWO BACK-ARROWS
 236	 10130	1034  		TAD	LXR	/GET PTR TO ARROW
 237	 10131	3737  		DCA I	(ARLOC	/SAVE IT ('EDIT' MIGHT NEED IT)
 238	 10132	5202  		JMP	BEGGRP
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 5
                                                 FILE # 1

 239			
 240			
 241	 10133	7756  	LIMDIF,	MIFILE-MPARAM+2	/OR MOFILE+5-MPARAM+5: IN SPEC. MODE
 242	 10134	0017  	BEGDIF,	MIFILE-MOFILE	/OR 5: IN SPEC. MODE
	------
	 10137	0000 *
	 10140	0000 *
	 10141	0000 *
	 10142	0732 +
	 10143	1520 +
	 10144	0042  
	 10145	7735  
	 10146	7760  
	 10147	1605 +
	 10150	7777  
	 10151	0060  
	 10152	1072 +
	 10153	7445  
	 10154	1635 +
	 10155	1275 +
	 10156	1641 +
	 10157	7600  
	 10160	0000 *
	 10161	7525  
	 10162	0000 *
	 10163	0267 +
	 10164	0645 +
	 10165	0600 +
	 10166	1271 +
	 10167	0704 +
	 10170	0301 +
	 10171	0730 +
	 10172	0000 *
	 10173	0200 +
	 10174	1600 +
	 10175	7577  
	 10176	0000 *
	 10177	1400 +
 243		0200  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 6
                                                 FILE # 1

 244			
 245			
 246	 10200	0000  	ASSIGN,	0
 247	 10201	1035  		TAD	CLXR
 248	 10202	0777  		AND I	(DVFLAG
 249	 10203	1776  		TAD I	(OUTLIM
 250	 10204	7740  		SMA SZA CLA	/CHECK FOR OUTPUT OR FIRST INPUT
 251	 10205	5215  		JMP	ASNORM	/IF DEVICE WAS SPECIFIC,
 252						/OR IF WE ARE ON THE INPUT SIDE,
 253						/PROCEED NORMALLY
 254	 10206	1023  		TAD	NAME1
 255	 10207	7650  		SNA CLA
 256	 10210	5242  		JMP	ASGNST
 257	 10211	1252  		TAD	DFLTNM+1
 258	 10212	3031  		DCA	DEV2
 259	 10213	1251  		TAD	DFLTNM
 260	 10214	3030  		DCA	DEV1
 261	 10215	1030  	ASNORM,	TAD	DEV1
 262	 10216	3235  		DCA	AS+1
 263	 10217	1031  		TAD	DEV2
 264	 10220	3236  		DCA	AS+2
 265	 10221	1775  		TAD I	(OUTSW
 266	 10222	7650  		SNA CLA		/DON'T LOAD HANDLER
 267						/IF WE ARE ON OUTPUT SIDE OF "_"
 268	 10223	1023  		TAD	NAME1	/OR THERE IS NO FILE NAME TO LOOK UP
 269	 10224	7402  	SPKLG1,	HLT		/CLA: SPEC. MODE, SNA CLA: NORMAL MODE
 270	 10225	1253  		TAD	GETHND	/GETHND=11
 271	 10226	7001  		IAC
 272	 10227	3234  		DCA	AS
 273	 10230	1374  		TAD	(HNDLR+1	/ALLOW TWO PAGE HANDLERS
 274	 10231	3237  		DCA	ASADR
 275	 10232	6212  		CIF 10
 276	 10233	4773  		JMS I	(USR
 277	 10234	0000  	AS,	0
 278	 10235	0000  		0
 279	 10236	0000  		0
 280	 10237	4401  	ASADR,	HNDLR+1
 281	 10240	5244  		JMP	OCTES	/TEST OPEN/CLOSE SPECIAL
 282	 10241	1236  		TAD	AS+2
 283	 10242	3772  	ASGNST,	DCA I	(DVICE
 284	 10243	5600  		JMP I	ASSIGN
 285			
 286	 10244	7307  	OCTES,	CLA CLL IAC RTL	/=4
 287	 10245	0771  		AND I	(FLAG
 288	 10246	7640  		SZA CLA
 289	 10247	5242  		JMP	ASGNST	/DEVICE 0 IS NONE
 290	 10250	5770  		JMP I	(CDER0
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 7
                                                 FILE # 1

 291			
 292			
 293	 10251	0423  	DFLTNM,	DEVICE DSK
	 10252	1300  
 294	 10253	0011  	GETHND,	11		/1+11=12 (1=FETCH, 12=INQUIRE)
 295			
 296			
 297	 10254	0000  	GETL,	0
 298	 10255	4767  		JMS I	(GCH
 299	 10256	3032  		DCA	DELIM
 300	 10257	1032  		TAD	DELIM
 301	 10260	4766  		JMS I	(DECODE
 302	 10261	5654  		JMP I	GETL	/NON-ALPHANUM IN CCL SWITCH
 303	 10262	7200  		CLA
 304	 10263	1032  		TAD	DELIM
 305	 10264	0365  		AND	(77
 306	 10265	2254  		ISZ	GETL
 307	 10266	5654  		JMP I	GETL
 308			
 309	 10267	0000  	ALLSWT,	0
 310	 10270	1032  		TAD	DELIM
 311	 10271	1364  		TAD	(-"/
 312	 10272	7450  		SNA
 313	 10273	5763  		JMP I	(SLASH
 314	 10274	1362  		TAD	("/-"-
 315	 10275	7640  		SZA CLA
 316	 10276	5667  		JMP I	ALLSWT
 317	 10277	4301  		JMS	CCLSWT
 318	 10300	5270  		JMP	ALLSWT+1
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 8
                                                 FILE # 1

 319			
 320			
 321	 10301	0000  	CCLSWT,	0
 322	 10302	1032  		TAD	DELIM
 323	 10303	1361  		TAD	(-"-
 324	 10304	7640  		SZA CLA
 325	 10305	5701  		JMP I	CCLSWT
 326	 10306	1775  		TAD I	(OUTSW
 327	 10307	7640  		SZA CLA
 328	 10310	5760  		JMP I	(CDER4	/CCL EXT ON OUTPUT FILE
 329	 10311	1357  		TAD	(SWTCHS
 330	 10312	3022  		DCA	DEF
 331	 10313	4254  		JMS	GETL
 332	 10314	5756  		JMP I	(CDER44	/NON-ALPHANUMERIC CCL SWITCH
 333	 10315	7002  		BSW
 334	 10316	3346  		DCA	TN$
 335	 10317	4254  		JMS	GETL
 336	 10320	5324  		JMP	1$	/ONE CHAR CCL SWITCH
 337	 10321	1346  		TAD	TN$
 338	 10322	3346  		DCA	TN$
 339	 10323	4254  		JMS	GETL
 340	 10324	7610  	1$:	SKP CLA		/2 CHAR CCL SWITCH
 341	 10325	5756  		JMP I	(CDER44	/3 CHAR CCL-SWITCH
 342	 10326	1346  		TAD	TN$
 343	 10327	4755  		JMS I	(EXTLUK
 344	 10330	7200  		CLA
 345	 10331	2022  		ISZ	DEF
 346	 10332	6201  		CDF 0
 347	 10333	1422  		TAD I	DEF
 348	 10334	3344  		DCA	G$	/GET PTR TO ARGUMENT PAIR
 349	 10335	1744  		TAD I	G$	/GET SUBROUTINE
 350	 10336	3345  		DCA	H$
 351	 10337	2344  		ISZ	G$
 352	 10340	1744  		TAD I	G$	/GET ARGUMENT
 353	 10341	6211  		CDF 10
 354	 10342	4745  		JMS I	H$	/CALL SUBR, ARG IN AC
 355	 10343	5302  		JMP	CCLSWT+1
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 9
                                                 FILE # 1

 356			
 357			
 358	 10344	0000  	G$:	0
 359	 10345	0000  	H$:	0
 360	 10346	0000  	TN$:	0
	------
	 10355	0705 +
	 10356	1524 +
	 10357	0000 *
	 10360	1522 +
	 10361	7523  
	 10362	0002  
	 10363	1065 +
	 10364	7521  
	 10365	0077  
	 10366	0000 *
	 10367	1043 +
	 10370	1221 +
	 10371	0000 *
	 10372	0704 +
	 10373	0200  
	 10374	4401  
	 10375	0000 *
	 10376	0000 *
	 10377	1635 +
 361		0400  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 10
                                                 FILE # 1

 362			
 363			
 364			/GETS A NAME FROM FIELD ZERO BUFFER VIA LXR
 365			/RETURNS WITH DELIMETER IN AC
 366			/GIVES ERROR MESSAGE IF NAME IS BAD
 367			
 368	 10400	0000  	GNAME,	0
 369	 10401	3023  		DCA	NAME1
 370	 10402	3024  		DCA	NAME2
 371	 10403	3025  		DCA	NAME3
 372	 10404	3026  		DCA	NAME4
 373	 10405	3027  		DCA	NAME5
 374	 10406	1377  		TAD	(NAME1
 375	 10407	3037  		DCA	NMBASE
 376	 10410	7240  		CLA CMA
 377	 10411	3304  		DCA	PERDSW
 378	 10412	3305  		DCA	NAMECT
 379	 10413	4776  		JMS I	(GCH
 380	 10414	1375  		TAD	(-"#
 381	 10415	7450  		SNA
 382	 10416	4774  		JMS I	(NUMC	/BUG IF MAKE COMMAND USES A # (OVERLAYS LOOP)
 383	 10417	1373  		TAD	("#
 384	 10420	7410  		SKP
 385	 10421	4776  	GTNMLP,	JMS I	(GCH
 386	 10422	3032  	P2,	DCA	DELIM
 387	 10423	1032  		TAD	DELIM
 388	 10424	1372  		TAD	(-"%
 389	 10425	7450  		SNA
 390	 10426	5302  		JMP	PER
 391	 10427	1371  		TAD	("%-"?
 392	 10430	7440  		SZA
 393	 10431	1370  		TAD	("?-"*
 394	 10432	7450  		SNA
 395	 10433	7402  	STARSW,	HLT		/JMP CDER6:NORMAL MODE, JMP STARNM: SPEC. MODE
 396	 10434	1367  		TAD	("*-".
 397	 10435	7650  		SNA CLA
 398	 10436	5265  		JMP	PERIOD
 399	 10437	1032  		TAD	DELIM
 400	 10440	4766  		JMS I	(DECODE
 401	 10441	5277  		JMP	LV
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 11
                                                 FILE # 1

 402			
 403			
 404	 10442	7200  	STARNM,	CLA		/THIS CODE HANDLES *'S AND ?'S CORRECTLY
 405	 10443	1032  		TAD	DELIM
 406	 10444	0365  		AND	(77
 407	 10445	3032  		DCA	DELIM
 408	 10446	1305  		TAD	NAMECT
 409	 10447	1364  		TAD	(-6
 410	 10450	7700  		SMA CLA
 411	 10451	5221  		JMP	GTNMLP
 412	 10452	1305  		TAD	NAMECT
 413	 10453	7110  		CLL RAR
 414	 10454	1037  		TAD	NMBASE
 415	 10455	3021  		DCA	TT
 416	 10456	1032  		TAD	DELIM
 417	 10457	7420  		SNL
 418	 10460	7002  		BSW
 419	 10461	1421  		TAD I	TT
 420	 10462	3421  		DCA I	TT
 421	 10463	2305  		ISZ	NAMECT
 422	 10464	5221  		JMP	GTNMLP
 423	 10465	1023  	PERIOD,	TAD	NAME1
 424	 10466	7640  		SZA CLA
 425	 10467	2304  		ISZ	PERDSW
 426	 10470	4763  		JMS I	(ERROR	/NULL NAME OR DOUBLE EXTENSION
 427	 10471	0014  		12.		/#Illegal extension
 428	 10472	2037  		ISZ	NMBASE
 429	 10473	2037  		ISZ	NMBASE
 430	 10474	7326  		STL CLA RTL	/2 (ALLOW 4 CHARACTER EXTENSION)
 431	 10475	3305  		DCA	NAMECT
 432	 10476	5221  		JMP	GTNMLP
 433	 10477	7200  	LV,	CLA
 434	 10500	1032  		TAD	DELIM
 435	 10501	5600  		JMP I	GNAME
 436			
 437	 10502	1362  	PER,	TAD	("?
 438	 10503	5222  		JMP	P2
 439	 10504	0000  	PERDSW,	0
 440	 10505	0000  	NAMECT,	0
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 12
                                                 FILE # 1

 441			
 442			
 443	 10506	1761  	CDER6,	TAD I	(FLAG
 444	 10507	7006  		RTL
 445	 10510	7700  		SMA CLA
 446	 10511	5340  		JMP	CD6E	/ONLY IF -LS WORKS
 447	 10512	1360  		TAD	(-112
 448	 10513	4757  		JMS I	(MOVE
 449	 10514	6201  		CDF 0
 450	 10515	1000  		BEGLN
 451	 10516	6201  		CDF 0
 452	 10517	3000  		BFR
 453	 10520	1367  		TAD	(-<MUNGCE-MUNGC>
 454	 10521	4757  		JMS I	(MOVE
 455	 10522	6211  		CDF 10
 456	 10523	1132 +		MUNGC
 457	 10524	6201  		CDF 0
 458	 10525	1000  		BEGLN
 459	 10526	1356  		TAD	(-<112-<MUNGCE-MUNGC>>
 460	 10527	4757  		JMS I	(MOVE
 461	 10530	6201  		CDF 0
 462	 10531	3000  		BFR
 463	 10532	6201  		CDF 0
 464	 10533	1004  		BEGLN+MUNGCE-MUNGC
 465	 10534	6201  		CDF 0
 466	 10535	3755  		DCA I	(BEGLN+111	/SAFETY
 467	 10536	6211  		CDF 10
 468	 10537	5754  		JMP I	(REGO
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 13
                                                 FILE # 1

 469			
 470			
 471	 10540	4763  	CD6E,	JMS I	(ERROR
 472	 10541	0002  		2.		/#Illegal * or ?
 473			
	------
	 10554	0000 *
	 10555	1111  
	 10556	7672  
	 10557	0000 *
	 10560	7666  
	 10561	0000 *
	 10562	0277  
	 10563	0000 *
	 10564	7772  
	 10565	0077  
	 10566	0000 *
	 10567	7774  
	 10570	0025  
	 10571	7746  
	 10572	7533  
	 10573	0243  
	 10574	1636 +
	 10575	7535  
	 10576	1043 +
	 10577	0023  
 474		0600  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 14
                                                 FILE # 1

 475			
 476			
 477	 10600	0000  	LOOKUP,	0
 478	 10601	3245  		DCA	LNAME
 479	 10602	1023  		TAD	NAME1
 480	 10603	7650  		SNA CLA
 481	 10604	5267  		JMP	LKUPST
 482	 10605	1777  		TAD I	(PERDSW
 483	 10606	1026  		TAD	NAME4
 484	 10607	7650  		SNA CLA
 485	 10610	7201  		CLA IAC		/FORCE NAMERM NON-0 IF . AND NO EXT
 486	 10611	1026  		TAD	NAME4
 487	 10612	3303  		DCA	NAMERM	/REMEMBER TYPED EXTENSION
 488	 10613	1033  		TAD	DEFALT
 489	 10614	3022  		DCA	DEF
 490	 10615	1776  		TAD I	(SETEXT
 491	 10616	7450  		SNA		/HAS AN EXTENSION BEEN SET?
 492	 10617	1303  		TAD	NAMERM	/NO
 493	 10620	7450  		SNA		/DOES FILE HAVE EXTENSION?
 494	 10621	5225  		JMP	EXT2	/NO EXTENSION TYPED OR SET, DO SUCCESSIVE LOOK-UPS
 495	 10622	4305  		JMS	EXTLUK	/LOOK FOR EXTENSION
 496	 10623	7650  		SNA CLA		/DID WE FIND IT?
 497	 10624	5237  		JMP	EXT3	/NO, FORCE NULL EXTENSION TO MATCH
 498	 10625	6201  	EXT2,	CDF 0
 499	 10626	1422  		TAD I	DEF
 500	 10627	7001  		IAC
 501	 10630	7650  		SNA CLA
 502	 10631	5277  		JMP	NEXTEXT	/IGNORE -1'S
 503	 10632	1303  		TAD	NAMERM
 504	 10633	7640  		SZA CLA
 505	 10634	5237  		JMP	EXT3
 506	 10635	1422  		TAD I	DEF
 507	 10636	3026  		DCA	NAME4	/SET NEW EXTENSION
 508	 10637	6211  	EXT3,	CDF 10
 509	 10640	1375  		TAD	(NAME1
 510	 10641	3245  		DCA	LNAME
 511	 10642	1774  		TAD I	(AS+2
 512	 10643	4773  		JMS I	(USR
 513	 10644	0002  		2
 514	 10645	0000  	LNAME,	0		/NAME1
 515	 10646	0000  	LENGTH,	0
 516	 10647	5271  		JMP	LFAILD
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 15
                                                 FILE # 1

 517			
 518			
 519	 10650	1026  		TAD	NAME4
 520	 10651	3776  		DCA I	(SETEXT
 521	 10652	2022  		ISZ	DEF	/POINT TO ASSOCIATED CUSP NAME
 522	 10653	6201  		CDF 0
 523	 10654	1422  		TAD I	DEF
 524	 10655	6211  		CDF 10
 525	 10656	3772  		DCA I	(DEFILE	/SAVE IT AWAY
 526	 10657	1246  		TAD	LENGTH
 527	 10660	7100  		CLL
 528	 10661	1371  		TAD	(400
 529	 10662	7420  		SNL
 530	 10663	7600  	CLACON,	7600		/CLA
 531	 10664	7106  		CLL RTL
 532	 10665	7006  		RTL
 533	 10666	0370  		AND	(7760
 534	 10667	1304  	LKUPST,	TAD	DVICE
 535	 10670	5600  		JMP I	LOOKUP
 536			
 537	 10671	1303  	LFAILD,	TAD	NAMERM
 538	 10672	6201  		CDF 0
 539	 10673	7650  		SNA CLA		/WAS THERE AN EXPLICIT EXTENSION?
 540	 10674	1422  		TAD I	DEF	/NO - WAS THERE A DEFAULT EXTENSION?
 541	 10675	7650  		SNA CLA
 542	 10676	5326  		JMP	XYZ
 543	 10677	6211  	NEXTEXT,CDF 10
 544	 10700	2022  		ISZ	DEF	/NO EXPLICIT EXT AND YES DEFAULT EXT
 545	 10701	2022  		ISZ	DEF	/POINT TO NEXT POSSIBLE DEFAULT EXTENSION
 546	 10702	5225  		JMP	EXT2	/AND TRY FOR IT
 547			
 548	 10703	0000  	NAMERM,	0
 549	 10704	0000  	DVICE,	0
 550			
 551	 10705	0000  	EXTLUK,	0
 552	 10706	7041  		CIA
 553	 10707	3020  		DCA	T
 554	 10710	6201  	1$:	CDF 0
 555	 10711	1422  		TAD I	DEF
 556	 10712	6211  		CDF 10
 557	 10713	7450  		SNA		/AT NULL?
 558	 10714	5705  		JMP I	EXTLUK	/YES
 559	 10715	1020  		TAD	T	/NO
 560	 10716	7650  		SNA CLA		/MATCH?
 561	 10717	5323  		JMP	2$	/YES
 562	 10720	2022  		ISZ	DEF	/NO
 563	 10721	2022  		ISZ	DEF	/POINT TO NEXT ENTRY
 564	 10722	5310  		JMP	1$	/TRY AGAIN
 565	 10723	1020  	2$:	TAD	T	/RETURN WITH IT IN AC
 566	 10724	7041  		CIA
 567	 10725	5705  		JMP I	EXTLUK
 568	 10726	6211  	XYZ,	CDF 10
 569	 10727	5767  		JMP I	(CDER3	/NO DEFALT EXTENSION OR YES EXPLICIT EXTENSION
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 16
                                                 FILE # 1

 570			
 571			
 572	 10730	4766  	CDER1,	JMS I	(ERROR
 573	 10731	0003  		3.		/#Too many files
 574			
 575	 10732	0000  	GLXR,	0		/NEW LOWER CASE GLXR
 576	 10733	6201  		CDF 0
 577	 10734	2034  		ISZ	LXR
 578	 10735	1434  		TAD I	LXR
 579	 10736	1365  		TAD	(-340
 580	 10737	7500  		SMA
 581	 10740	1364  		TAD	(-40
 582	 10741	1363  		TAD	(340
 583	 10742	6211  		CDF 10
 584	 10743	5732  		JMP I	GLXR
 585			
 586	 10744	1023  	NFOU,	TAD	NAME1
 587	 10745	0362  		AND	(77
 588	 10746	7650  		SNA CLA
 589	 10747	5761  		JMP I	(ONE		/ONE-CHARACTER SWITCH
 590	 10750	1360  		TAD	('#@
 591	 10751	4757  		JMS I	(PRWD
 592	 10752	4756  		JMS I	(PRNAME
 593	 10753	4766  		JMS I	(ERROR
 594	 10754	0004  		4.			/#XXXXXX Option is unknown
	------
	 10756	0000 *
	 10757	0000 *
	 10760	4300  
	 10761	2074 +
	 10762	0077  
	 10763	0340  
	 10764	7740  
	 10765	7440  
	 10766	0000 *
	 10767	1210 +
	 10770	7760  
	 10771	0400  
	 10772	0000 *
	 10773	0200  
	 10774	0236 +
	 10775	0023  
	 10776	1514 +
	 10777	0504 +
 595		1000  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 17
                                                 FILE # 1

 596			
 597			
 598			/TAKES A LETTER OR A DIGIT IN AC
 599			/AND TURNS ON APPROPRIATE BIT IN OPTION TABLE
 600			
 601	 11000	0000  	SLSHCH,	0
 602	 11001	3032  		DCA	DELIM
 603	 11002	1377  		TAD	(MPARAM-1
 604	 11003	3020  		DCA	T
 605	 11004	1032  		TAD	DELIM
 606	 11005	4776  		JMS I	(DECODE
 607	 11006	5230  		JMP	CDER8
 608	 11007	7430  		SZL
 609	 11010	1375  		TAD	(32
 610	 11011	7160  		CMA STL		/THE FOLLOWING TURNS
 611						/ON THE CORRECT OPTION BIT
 612	 11012	3021  		DCA	TT
 613	 11013	7430  	L$:	SZL
 614	 11014	2020  		ISZ	T
 615	 11015	7010  		RAR
 616	 11016	7420  		SNL
 617	 11017	2021  		ISZ	TT
 618	 11020	5213  		JMP	L$
 619	 11021	3021  		DCA	TT
 620	 11022	1021  		TAD	TT
 621	 11023	7040  		CMA
 622	 11024	0420  		AND I	T
 623	 11025	1021  		TAD	TT
 624	 11026	3420  		DCA I	T
 625	 11027	5600  		JMP I	SLSHCH
 626			
 627	 11030	4774  	CDER8,	JMS I	(ERROR
 628	 11031	0005  		5.		/#Illegal Switch option
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 18
                                                 FILE # 1

 629			
 630			
 631	 11032	0000  	ZEROCD,	0
 632	 11033	1373  		TAD	(-42	/AC MAY BE NON-0
 633	 11034	3020  		DCA	T
 634	 11035	1372  		TAD	(MOFILE-1
 635	 11036	3016  		DCA	XR
 636	 11037	3416  		DCA I	XR	/ZERO THE COMMAND DECODER OUTPUT AREA
 637	 11040	2020  		ISZ	T
 638	 11041	5237  		JMP	.-2
 639	 11042	5632  		JMP I	ZEROCD
 640			
 641	 11043	0000  	GCH,	0
 642	 11044	4771  		JMS I	(GLXR
 643	 11045	1370  		TAD	(-240
 644	 11046	7450  		SNA
 645	 11047	5244  		JMP	GCH+1	/IGNORE SPACES
 646	 11050	1367  		TAD	(240-"(
 647	 11051	7450  		SNA
 648	 11052	5256  		JMP	OPENP$
 649	 11053	1366  		TAD	("(
 650	 11054	5643  		JMP I	GCH
 651	 11055	5244  		JMP	GCH+1
 652	 11056	4771  	OPENP$:	JMS I	(GLXR
 653	 11057	1365  		TAD	(-")
 654	 11060	7450  		SNA
 655	 11061	5244  		JMP	GCH+1
 656	 11062	1364  		TAD	(")
 657	 11063	4200  		JMS	SLSHCH
 658	 11064	5256  		JMP	OPENP$
 659			
 660				IFZERO MULTI <
 661			SLASH,	JMS I	(GLXR
 662				JMS	SLSHCH
 663				JMS I	(GLXR
 664				DCA	DELIM
 665				JMP I	(ALLSWT+1
 666				>
 667			
 668				IFNZRO MULTI <
 669	 11065	6201 *	SLASH,	CDF TABLES	/POINT TO SWITCH TABLE POINTER
 670	 11066	1436  		TAD I	PTR	/GET PTR TO SWITCH TABLE
 671	 11067	6211  		CDF 10
 672	 11070	4763  		JMS I	(TRANSL
 673	 11071	5762  		JMP I	(ALLSWT+1
 674				>
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 19
                                                 FILE # 1

 675			
 676			
 677	 11072	1761  	OLENGT,	TAD I	(OUTSW
 678	 11073	0023  		AND	NAME1	/[N] IS ONLY LEGAL
 679						/ON THE OUTPUT SIDE OF THE "_"
 680	 11074	7650  		SNA CLA		/AND ONLY AFTER A FILE NAME
 681	 11075	5760  		JMP I	(CDER2
 682	 11076	1357  		TAD	(-4
 683	 11077	1035  		TAD	CLXR
 684	 11100	3037  		DCA	NMBASE
 685	 11101	4756  		JMS I	(DNUMB
 686	 11102	7106  		CLL RTL
 687	 11103	7006  		RTL
 688	 11104	0355  		AND	(7760
 689	 11105	1437  		TAD I	NMBASE
 690	 11106	3437  		DCA I	NMBASE
 691	 11107	6201  		CDF 0
 692	 11110	1032  		TAD	DELIM
 693	 11111	1354  		TAD	(-"]	/IS THERE A CLOSING BRACKET?
 694	 11112	7450  		SNA		/IF NOT,
 695						/"DLOOK" ROUTINE WILL DETECT IT
 696	 11113	4243  		JMS	GCH
 697	 11114	3032  		DCA	DELIM
 698	 11115	5753  		JMP I	(DL2
 699			
 700	 11116	0000  	SETDSK,	0
 701	 11117	1325  		TAD	DSKDEV
 702	 11120	7440  		SZA
 703	 11121	5716  		JMP I	SETDSK
 704	 11122	4752  		JMS I	(USR
 705	 11123	0012  		12		/INQUIRE
 706	 11124	5723  		5723		/PACKED ENCODING FOR 'DSK:'
 707	 11125	0000  	DSKDEV,	0		/SET TO DEVICE NUMBER
 708	 11126	0000  		0
 709	 11127	7402  		HLT		/NO 'DSK' !
 710	 11130	1325  		TAD	DSKDEV
 711	 11131	5716  		JMP I	SETDSK
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 20
                                                 FILE # 1

 712			
 713			
 714				.ENABLE ASCII
 715				.DISABLE FILL
 716	 11132	0324  	MUNGC,	TEXT	/TT* /	/REALLY CALLS TECO.TEC WITH TTL COMMAND
	 11133	0324  
	 11134	0252  
	 11135	0240  
 717		1136 *	MUNGCE=.
 718				.ENABLE SIXBIT
 719				.ENABLE FILL
	------
	 11152	0200  
	 11153	0124 +
	 11154	7443  
	 11155	7760  
	 11156	0000 *
	 11157	7774  
	 11160	1520 +
	 11161	0000 *
	 11162	0270 +
	 11163	2036 +
	 11164	0251  
	 11165	7527  
	 11166	0250  
	 11167	7770  
	 11170	7540  
	 11171	0732 +
	 11172	7577  
	 11173	7736  
	 11174	0000 *
	 11175	0032  
	 11176	0000 *
	 11177	7642  
 720		1200  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 21
                                                 FILE # 1

 721			
 722			
 723	 11200	1777  	CCER1,	TAD I	(NAMPTR
 724	 11201	3205  		DCA	X$
 725	 11202	1376  		TAD	(-5
 726	 11203	4775  		JMS I	(MOVE
 727	 11204	6211  		CDF 10
 728	 11205	0000  	X$:	0
 729	 11206	6211  		CDF 10
 730	 11207	0023  		NAME1
 731	 11210	1374  	CDER3,	TAD	('#@
 732	 11211	4773  		JMS I	(PRWD
 733	 11212	4772  		JMS I	(PRNAME
 734	 11213	4771  		JMS I	(ERROR
 735	 11214	0006  		6.		/#XXXXXX not found
 736			
 737	 11215	1770  	CCER2,	TAD I	(DVNM1
 738	 11216	3030  		DCA	DEV1
 739	 11217	1767  		TAD I	(DVNM2
 740	 11220	3031  		DCA	DEV2
 741	 11221	1030  	CDER0,	TAD	DEV1
 742	 11222	7650  		SNA CLA
 743	 11223	5766  		JMP I	(CDER2	/B DOES NOT EXIST
 744	 11224	1374  		TAD	('#@
 745	 11225	4773  		JMS I	(PRWD
 746	 11226	1030  		TAD	DEV1
 747	 11227	4773  		JMS I	(PRWD
 748	 11230	1031  		TAD	DEV2
 749	 11231	4773  		JMS I	(PRWD
 750	 11232	4771  		JMS I	(ERROR
 751	 11233	0007  		7.		/#YYYY does not exist
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 22
                                                 FILE # 1

 752			
 753			
 754	 11234	0000  	BKA,	0
 755	 11235	1765  		TAD I	(LBEGIN
 756	 11236	3035  		DCA	CLXR
 757	 11237	6201  	1$:	CDF 0
 758	 11240	2035  		ISZ	CLXR
 759	 11241	1435  		TAD I	CLXR
 760	 11242	6211  		CDF 10
 761	 11243	7450  		SNA
 762	 11244	5267  		JMP	NOBKR$
 763	 11245	1364  		TAD	(-"<
 764	 11246	7450  		SNA
 765	 11247	5634  		JMP I	BKA
 766	 11250	1363  		TAD	("<-"_
 767	 11251	7450  		SNA
 768	 11252	5634  		JMP I	BKA
 769	 11253	1362  		TAD	("_-"=
 770	 11254	7640  		SZA CLA
 771	 11255	5237  		JMP	1$
 772	 11256	2035  		ISZ	CLXR	/= MEANS _ IF NOT FOLLOWED BY A DIGIT
 773	 11257	6201  		CDF 0
 774	 11260	1435  		TAD I	CLXR
 775	 11261	6211  		CDF 10
 776	 11262	4761  		JMS I	(DECODE
 777	 11263	7610  		SKP CLA		/NOT A DIGIT
 778	 11264	7620  		SNL CLA		/MAYBE A DIGIT
 779	 11265	5634  		JMP I	BKA	/= FOLLOWED BY A NON-DIGIT MEANS _
 780	 11266	5237  		JMP	1$	/IT'S AN =NNNN
 781			
 782	 11267	2234  	NOBKR$:	ISZ	BKA
 783	 11270	5634  		JMP I	BKA
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 23
                                                 FILE # 1

 784			
 785			
 786	 11271	0000  	PCLXR,	0
 787	 11272	2035  		ISZ	CLXR
 788	 11273	3435  		DCA I	CLXR
 789	 11274	5671  		JMP I	PCLXR
 790			
 791	 11275	0000  	ZERR,	0
 792	 11276	3760  		DCA I	(DONB	/ZERO 1ST OUTPUT FILE
 793	 11277	1357  		TAD	(MOFILE-1
 794	 11300	3015  		DCA	XR2
 795	 11301	3415  		DCA I	XR2
 796	 11302	3415  		DCA I	XR2
 797	 11303	3415  		DCA I	XR2
 798	 11304	3415  		DCA I	XR2
 799	 11305	3415  		DCA I	XR2
 800	 11306	5675  		JMP I	ZERR
 801			
	------
	 11357	7577  
	 11360	0000 *
	 11361	0000 *
	 11362	0042  
	 11363	7735  
	 11364	7504  
	 11365	0000 *
	 11366	1520 +
	 11367	2015 +
	 11370	2014 +
	 11371	0000 *
	 11372	0000 *
	 11373	0000 *
	 11374	4300  
	 11375	0000 *
	 11376	7773  
	 11377	0000 *
 802		1400  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 24
                                                 FILE # 1

 803			
 804			
 805	 11400	0000  	CDINIT,	0
 806	 11401	2036  		ISZ	PTR	/POINT TO SWITCH TABLE
 807	 11402	4777  		JMS I	(USR
 808	 11403	0013  		13		/RESET ALL HANDLERS
 809	 11404	6201  		CDF 0
 810	 11405	1433  		TAD I	DEFALT
 811	 11406	6211  		CDF 10
 812	 11407	1376  		TAD	(-5200
 813	 11410	7640  		SZA CLA		/IS THIS A REQUEST FOR A
 814						/"SPECIAL DECODE"?
 815	 11411	5226  		JMP	CDCONT	/NO: SET NORMAL MODE
 816	 11412	1375  		TAD	(1-MOFILE-5
 817	 11413	3774  		DCA I	(OUTLIM	/YES, SET UP THE PROPER LOCATIONS
 818	 11414	1373  		TAD	(MOFILE+5-MPARAM+5
 819	 11415	3772  		DCA I	(LIMDIF	/TO GET 1 OUTPUT AND 5 INPUT FILES
 820	 11416	1371  		TAD	(5
 821	 11417	3770  		DCA I	(BEGDIF	/ALL OF WHICH ARE
 822						/5-WORD <DEVICE,NAME> ENTRIES
 823	 11420	3767  		DCA I	(LKUPSW
 824	 11421	1315  		TAD	STARJM
 825	 11422	3766  		DCA I	(STARSW	/AND ALLOW *
 826						/AS A FILE OR EXTENSION NAME
 827	 11423	1365  		TAD	(CLA	/STOPS FETCHES IN SPECIAL MODE
 828	 11424	3764  		DCA I	(SPKLG1	/NO HANDLER FETCHES NECESSARY EITHER
 829						/SINCE NO LOOKUPS
 830	 11425	7410  		SKP
 831	 11426	4236  	CDCONT,	JMS CDNORM	/SET NORMAL MODE
 832	 11427	4763  		JMS I	(BKA	/SCAN AHEAD FOR <
 833	 11430	7240  		STA		/SKIP RETURN IF NOT FOUND
 834	 11431	3762  		DCA I	(OUTSW
 835	 11432	4761  		JMS I	(ZEROCD
 836	 11433	1760  		TAD I	(LBEGIN
 837	 11434	3034  		DCA	LXR
 838	 11435	5600  		JMP I	CDINIT
 839			
 840	 11436	0000  	CDNORM,	0
 841	 11437	1357  		TAD	(1-MIFILE
 842	 11440	3774  		DCA I	(OUTLIM
 843	 11441	1356  		TAD	(MIFILE-MPARAM+2
 844	 11442	3772  		DCA I	(LIMDIF
 845	 11443	1355  		TAD	(MIFILE-MOFILE
 846	 11444	3770  		DCA I	(BEGDIF
 847	 11445	1316  		TAD	LKUPJM
 848	 11446	3767  		DCA I	(LKUPSW
 849	 11447	1317  		TAD	CDERJM
 850	 11450	3766  		DCA I	(STARSW
 851	 11451	1354  		TAD	(SNA CLA
 852	 11452	3764  		DCA I	(SPKLG1
 853	 11453	5636  		JMP I	CDNORM
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 25
                                                 FILE # 1

 854			
 855			
 856	 11454	0000  	SETDEV,	0		/V1A ARG NOW IN AC
 857	 11455	3261  		DCA	1$
 858	 11456	7344  		CLL STA RAL	/-2
 859	 11457	4753  		JMS I	(MOVE
 860	 11460	6201  		CDF 0
 861	 11461	0000  	1$:	0		/PTS TO DEVICE NAME
 862	 11462	6211  		CDF 10
 863	 11463	2014 +		DVNM1
 864	 11464	4752  		JMS I	(SETOUT
 865	 11465	5654  		JMP I	SETDEV
 866			
 867	 11466	0000  	UNKN,	0
 868	 11467	1314  		TAD	SETEXT
 869	 11470	7440  		SZA
 870	 11471	1020  		TAD	T	/NEG OF SWITCH REQUEST
 871	 11472	7640  		SZA CLA
 872	 11473	4751  		JMS I	(ERROR	/CAN'T HAVE 2ND DEFAULT EXTENSION
 873	 11474	0010  		8.		/#Contradictory switches
 874	 11475	1020  		TAD	T
 875	 11476	7041  		CIA
 876	 11477	3314  		DCA	SETEXT	/SET DEFAULT EXTENSION
 877	 11500	1033  		TAD	DEFALT	/SEE IF IT'S IN COMMAND'S SEARCH LIST
 878	 11501	3022  		DCA	DEF
 879	 11502	1314  		TAD	SETEXT
 880	 11503	4750  		JMS I	(EXTLUK
 881	 11504	7650  		SNA CLA		/DID WE FIND IT?
 882	 11505	5322  		JMP	CDER4	/NO
 883	 11506	2022  		ISZ	DEF	/YES
 884	 11507	6201  		CDF 0
 885	 11510	1422  		TAD I	DEF
 886	 11511	6211  		CDF 10
 887	 11512	3747  		DCA I	(DEFILE	/SET FILE; SETEXT ALREADY SET
 888	 11513	5666  		JMP I	UNKN
 889			
 890	 11514	0000  	SETEXT,	0		/EXT WHICH HAS BEEN SET BY A CCL SWITCH
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 26
                                                 FILE # 1

 891			
 892			
 893	 11515	**** *	STARJM,	5200+<STARNM&177>
 894	 11516	**** *	LKUPJM,	5200+<LKUPIN&177>
 895	 11517	**** *	CDERJM,	5200+<CDER6&177>
 896	 11520	4751  	CDER2,	JMS I	(ERROR
 897	 11521	0011  		9.		/#Illegal syntax
 898			
 899			CCERB,
 900	 11522	4751  	CDER4,	JMS I	(ERROR
 901	 11523	0012  		10.		/#Switch not allowed here
 902	 11524	4751  	CDER44,	JMS I	(ERROR
 903	 11525	0013  		11.		/#Illegal CCL switch
 904	 11526	4751  	CDER7,	JMS I	(ERROR
 905	 11527	0014  		12.		/#Illegal extension ?NOT USED?
	------
	 11547	0000 *
	 11550	0705 +
	 11551	0000 *
	 11552	2000 +
	 11553	0000 *
	 11554	7650  
	 11555	0017  
	 11556	7756  
	 11557	0162  
	 11560	0000 *
	 11561	1032 +
	 11562	0000 *
	 11563	1234 +
	 11564	0224 +
	 11565	7200  
	 11566	0433 +
	 11567	0023 +
	 11570	0134 +
	 11571	0005  
	 11572	0133 +
	 11573	7747  
	 11574	0000 *
	 11575	0174  
	 11576	2600  
	 11577	0200  
 906		1600  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 27
                                                 FILE # 1

 907			
 908			
 909			/THIS GETS A DEV:NAME.EXT SPECIFICATION (USING LXR)
 910			/PUTTING RESULT IN DEV1,DEV2, NAME1-4.
 911			/IT GIVES A FATAL ERROR MESSAGE IF BAD.
 912			
 913	 11600	0000  	GETSPC,	0
 914	 11601	7240  		STA
 915	 11602	3235  		DCA	DVFLAG
 916	 11603	3030  		DCA	DEV1
 917	 11604	3031  	FILLP1,	DCA	DEV2
 918	 11605	4777  	FILLP,	JMS I	(GNAME
 919	 11606	1376  		TAD	(-":	/AC CONTAINED DELIM
 920	 11607	7650  		SNA CLA
 921	 11610	5221  		JMP	3$	/IT'S A DEVICE NAME
 922	 11611	3236  		DCA	NUMC
 923	 11612	1375  		TAD	(-4
 924	 11613	4774  		JMS I	(MOVE
 925	 11614	6211  		CDF 10
 926	 11615	0023  		NAME1
 927	 11616	6201  		CDF 0
 928	 11617	0000 *		FNAME1		/SAVE AWAY FILE NAME
 929	 11620	5600  		JMP I	GETSPC
 930	 11621	7201  	3$:	CLA IAC		/PARSE FILENAME AFTER DEV:
 931	 11622	1773  		TAD I	(PERDSW
 932	 11623	1236  		TAD	NUMC
 933	 11624	7640  		SZA CLA
 934	 11625	4772  	CDERA,	JMS I	(ERROR	/. OR # IN DEVICE NAME
 935	 11626	0015  		13.		/#Bad device (name?)
 936	 11627	1023  		TAD	NAME1
 937	 11630	3030  		DCA	DEV1
 938	 11631	2235  		ISZ	DVFLAG
 939	 11632	5225  		JMP	CDERA	/CATCHES A:B:
 940	 11633	1024  		TAD	NAME2
 941	 11634	5204  		JMP	FILLP1
 942			
 943	 11635	0000  	DVFLAG,	0
 944			
 945	 11636	0000  	NUMC,	0		/USED AS FLAG INDICATING SAW #
 946	 11637	4771  		JMS I	(POUND
 947	 11640	5636  		JMP I	NUMC
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 28
                                                 FILE # 1

 948			
 949			
 950	 11641	0000  	NMOVE,	0
 951	 11642	3304  		DCA	2$	/V1A ARG IN AC
 952	 11643	1770  		TAD I	(FLAG
 953	 11644	7006  		RTL
 954	 11645	7700  		SMA CLA		/FEATURE ENABLED?
 955	 11646	5767  		JMP I	(CCERB	/NO
 956	 11647	1766  		TAD I	(OUTSW
 957	 11650	7640  		SZA CLA
 958	 11651	5767  		JMP I	(CCERB	/ON OUTPUT SIDE
 959	 11652	1765  		TAD I	(MOFILE	/V3C
 960	 11653	7650  		SNA CLA		/DON'T CHANGE OUT DEV IF SPECIFIED
 961	 11654	1770  		TAD I	(FLAG	/LOOK AT 'COPY EXT' BIT
 962	 11655	0364  		AND	(200
 963	 11656	7650  		SNA CLA
 964	 11657	5263  		JMP	1$	/IT WASN'T SET
 965	 11660	1763  		TAD I	(MIFILE	/GET FIRST INPUT DEVICE
 966	 11661	0362  		AND	(17	/ISOLATE DEVICE BITS
 967	 11662	3765  		DCA I	(MOFILE	/FORCE THIS TO BE FIRST OUTPUT DEVICE
 968	 11663	1704  	1$:	TAD I	2$
 969	 11664	7450  		SNA
 970	 11665	4761  		JMS I	(SETDSK	/CHANGE TO 'IAC' TO ALWAYS USE SYS:
 971	 11666	3704  		DCA I	2$	/SET DEVICE TO SYS IF NONE
 972	 11667	2304  		ISZ	2$
 973	 11670	1704  		TAD I	2$	/WAS THERE A SPECIFICATION THERE?
 974	 11671	7640  		SZA CLA
 975	 11672	5641  		JMP I	NMOVE	/YES, DO NOTHING
 976	 11673	1770  		TAD I	(FLAG
 977	 11674	0364  		AND	(200	/GET 'COPY EXTENSION' BIT
 978	 11675	7740  		SMA SZA CLA	/'SMA' IS UNNECESSARY
 979	 11676	7240  		STA		/COPY 4 WORDS IF BIT 4 WAS ON
 980	 11677	1360  		TAD	(-3	/OTHERWISE ONLY COPY 3 WORDS
 981	 11700	4774  		JMS I	(MOVE
 982	 11701	6201  		CDF 0
 983	 11702	0000 *		FNAME1
 984	 11703	6211  		CDF 10
 985	 11704	0000  	2$:	0
 986	 11705	5641  		JMP I	NMOVE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 29
                                                 FILE # 1

 987			
 988			
 989	 11706	0000  	JMSUB,	0
 990	 11707	7450  		SNA
 991	 11710	5706  		JMP I	JMSUB
 992	 11711	3314  		DCA	T$
 993	 11712	4714  		JMS I	T$
 994	 11713	5706  		JMP I	JMSUB
 995	 11714	0000  	T$:	0
 996			
 997	 11715	1023  	AMBIG,	TAD	NAME1
 998	 11716	0357  		AND	(77
 999	 11717	7650  		SNA CLA
1000	 11720	5756  		JMP I	(ONE
1001	 11721	1355  		TAD	('#@
1002	 11722	4754  		JMS I	(PRWD
1003	 11723	4753  		JMS I	(PRNAME
1004	 11724	4772  		JMS I	(ERROR
1005	 11725	0016  		14.		/#XXXXXX Option ambiguous
	------
	 11753	0000 *
	 11754	0000 *
	 11755	4300  
	 11756	2074 +
	 11757	0077  
	 11760	7775  
	 11761	1116 +
	 11762	0017  
	 11763	7617  
	 11764	0200  
	 11765	7600  
	 11766	0000 *
	 11767	1522 +
	 11770	0000 *
	 11771	0000 *
	 11772	0000 *
	 11773	0504 +
	 11774	0000 *
	 11775	7774  
	 11776	7506  
	 11777	0400 +
1006		2000  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 30
                                                 FILE # 1

1007			
1008			
1009	 12000	0000  	SETOUT,	0
1010	 12001	1777  		TAD I	(FLAG
1011	 12002	7012  		RTR
1012	 12003	7630  		SZL CLA
1013	 12004	1376  		TAD	(5
1014	 12005	1375  		TAD	(MOFILE
1015	 12006	3234  		DCA	OLOC
1016	 12007	1634  		TAD I	OLOC
1017	 12010	7640  		SZA CLA
1018	 12011	5600  		JMP I	SETOUT	/HE'S SPECIFIED SOMETHING
1019	 12012	4774  		JMS I	(USR
1020	 12013	0012  		12		/INQUIRE
1021	 12014	0000  	DVNM1,	0
1022	 12015	0000  	DVNM2,	0
1023	 12016	0000  		0
1024	 12017	5773  		JMP I	(CCER2	/NO SUCH DEVICE
1025	 12020	1215  		TAD	DVNM2
1026	 12021	3634  		DCA I	OLOC
1027	 12022	1234  		TAD	OLOC
1028	 12023	0376  		AND	(5
1029	 12024	7650  		SNA CLA		/USING 2ND OUT DEV?
1030	 12025	5600  		JMP I	SETOUT	/NO
1031	 12026	2234  		ISZ	OLOC	/YES
1032	 12027	1372  		TAD	(-4
1033	 12030	4771  		JMS I	(MOVE
1034	 12031	6201  		CDF 0
1035	 12032	0000 *		FNAME1
1036	 12033	6211  		CDF 10
1037	 12034	7600  	OLOC,	7600		/INITIALLY 7600 OR 7605
1038	 12035	5600  		JMP I	SETOUT
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 31
                                                 FILE # 1

1039			
1040			
1041			/	TAD (PTR TO SWITCH TABLE ENTRY (IN FIELD 0)
1042			/	JMS TRANSL
1043			/	IT PARSES SWITCH, SETS BIT
1044			/	PARSES :VALUE, SETS = OPTION
1045			/	LEAVES DELIMETER IN DELIM
1046			
1047	 12036	0000  	TRANSL,	0
1048	 12037	3302  		DCA	SPTR	/POINT INTO A SWITCH TABLE
1049	 12040	4770  		JMS I	(GNAME	/GET A NAME
1050	 12041	3304  		DCA	DEL
1051	 12042	4305  		JMS	SRCH
1052	 12043	5767  		JMP I	(NFOU	/SWITCH NOT FOUND
1053	 12044	7240  		STA
1054	 12045	1351  		TAD	SRPTR
1055	 12046	3303  		DCA	SSPTR	/SAVE PTR INTO LONG NAME
1056	 12047	4305  		JMS	SRCH	/SEARCH SOME MORE
1057	 12050	7410  		SKP		/SHOULDN'T FIND ANYTHING
1058	 12051	5766  		JMP I	(AMBIG	/AMBIGUOUS SWITCH
1059	 12052	6201  		CDF 0
1060	 12053	1703  	L$:	TAD I	SSPTR	/SCAN PAST END OF LONG NAME
1061	 12054	2303  		ISZ	SSPTR
1062	 12055	0365  		AND	(77
1063	 12056	7640  	X240:	SZA CLA
1064	 12057	5253  		JMP	L$
1065	 12060	1703  		TAD I	SSPTR
1066	 12061	6211  		CDF 10
1067	 12062	0364  	SL,	AND	(377	/ISOLATE CORRESPONDING ONE-CHARACTER SWITCH
1068	 12063	7440  		SZA
1069	 12064	4763  		JMS I	(SLSHCH	/SET APPROPRIATE BIT
1070	 12065	1304  		TAD	DEL
1071	 12066	3032  		DCA	DELIM
1072	 12067	1032  		TAD	DELIM
1073	 12070	1362  		TAD	(-":
1074	 12071	7650  		SNA CLA
1075	 12072	4761  		JMS I	(EQLPRM
1076	 12073	5636  		JMP I	TRANSL
1077			
1078	 12074	1023  	ONE,	TAD	NAME1
1079	 12075	7002  		BSW
1080	 12076	1256  		TAD	X240
1081	 12077	0365  		AND	(77
1082	 12100	1256  		TAD	X240
1083	 12101	5262  		JMP	SL
1084			
1085	 12102	0000  	SPTR,	0
1086	 12103	0000  	SSPTR,	0
1087	 12104	0000  	DEL,	0
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 32
                                                 FILE # 1

1088			
1089			
1090			/RETURN 1 IF NAME NOT FOUND
1091			/RETURN 2 IF NAME FOUND
1092			
1093	 12105	0000  	SRCH,	0
1094	 12106	7240  	1$:	STA
1095	 12107	3350  		DCA	SRSW	/LONGS AT LEAST 2 LONG
1096	 12110	1360  		TAD	(NAME1
1097	 12111	3353  		DCA	NPTR
1098	 12112	7346  		CLL STA RTL	/-3
1099	 12113	3352  		DCA	NCNT
1100	 12114	6201  		CDF 0
1101	 12115	1702  		TAD I	SPTR
1102	 12116	6211  		CDF 10
1103	 12117	2302  		ISZ	SPTR
1104	 12120	7450  		SNA
1105	 12121	5705  		JMP I	SRCH	/NOT FOUND
1106	 12122	3351  		DCA	SRPTR
1107	 12123	1753  	2$:	TAD I	NPTR
1108	 12124	7450  		SNA
1109	 12125	5346  		JMP	3$
1110	 12126	2350  		ISZ	SRSW	/ALWAYS MATCH 2 FIRST BYTES
1111	 12127	0365  		AND	(77
1112	 12130	7640  		SZA CLA
1113	 12131	1365  		TAD	(77	/MUST MATCH BOTH BYTES
1114	 12132	1357  		TAD	(7700	/NEED ONLY MATCH LEFT BYTE
1115	 12133	6201  		CDF 0
1116	 12134	0751  		AND I	SRPTR
1117	 12135	6211  		CDF 10
1118	 12136	7041  		CIA
1119	 12137	1753  		TAD I	NPTR
1120	 12140	7640  		SZA CLA
1121	 12141	5306  		JMP	1$	/THIS SWITCH AIN'T IT
1122	 12142	2351  		ISZ	SRPTR
1123	 12143	2353  		ISZ	NPTR
1124	 12144	2352  		ISZ	NCNT
1125	 12145	5323  		JMP	2$
1126	 12146	2305  	3$:	ISZ	SRCH
1127	 12147	5705  		JMP I	SRCH
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 33
                                                 FILE # 1

1128			
1129			
1130	 12150	7777  	SRSW,	-1
1131	 12151	0000  	SRPTR,	0		/POINTS INTO LONG NAME TABLE
1132	 12152	0000  	NCNT,	0
1133	 12153	0000  	NPTR,	0		/POINTS INTO NAME1-3
	------
	 12157	7700  
	 12160	0023  
	 12161	0000 *
	 12162	7506  
	 12163	1000 +
	 12164	0377  
	 12165	0077  
	 12166	1715 +
	 12167	0744 +
	 12170	0400 +
	 12171	0000 *
	 12172	7774  
	 12173	1215 +
	 12174	0200  
	 12175	7600  
	 12176	0005  
	 12177	0000 *
1134		2200  		PAGE
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 34
                                                 FILE # 1

1135			
1136			
/CCL COMMAND DECODER FOR KBM V50  MACREL-V2C  TUE 02-JUN-92  PAGE 35
SYMBOL TABLE

ALLSWT	  0267+ CCLCD		DEASAD	  0427			LIMDIF	  0133+ CCLCD		PRNAME	X ****			
AMBIG	  1715+ CCLCD		DECODE	X ****			LKUPIN	  0036+ CCLCD		PRQMRK	  1357			
AMFLAG	  0017			DEF	  0022			LKUPJM	  1516+ CCLCD		PRWD	X ****			
ARLOC	X ****			DEFALT	  0033			LKUPST	  0667+ CCLCD		PTR	  0036			
AS	  0234+ CCLCD		DEFILE	X ****			LKUPSW	  0023+ CCLCD		P2	  0422+ CCLCD		
ASADR	G 0237+ CCLCD		DEL	  2104+ CCLCD		LNAME	G 0645+ CCLCD		REGO	X ****			
ASGNST	  0242+ CCLCD		DELIM	  0032			LONGTB	  5000			REMBLO	  0065			
ASNORM	  0215+ CCLCD		DEV1	  0030			LOOKUP	E 0600+ CCLCD		REMSPA	  4000			
ASSIGN	E 0200+ CCLCD		DEV2	  0031			LV	G 0477+ CCLCD		REST	  5000			
BATBUF	  4400			DFLTNM	  0251+ CCLCD		LXR	  0034			SBLOCK	  7776			
BATCCL	  7777			DLOOK	  0066+ CCLCD		MDATE	  7666			SCOPE	  7726			
BATERR	  7000			DL2	  0124+ CCLCD		MIFILE	  7617			SETDEV	E 1454+ CCLCD		
BATIN	  5400			DNUMB	X ****			MMISC	  7777			SETDSK	  1116+ CCLCD		
BATOUT	  7400			DOLFLG	  7776			MOFILE	  7600			SETEXT	G 1514+ CCLCD		
BATSPL	  7200			DONB	X ****			MONLOD	  7605			SETOUT	  2000+ CCLCD		
BATTBL	  6600			DSKDEV	  1125+ CCLCD		MONSAV	  7600			SHNDLR	  7607			
BATVFY	  5600			DVFLAG	  1635+ CCLCD		MOVE	X ****			SL	  2062+ CCLCD		
BEGDIF	  0134+ CCLCD		DVHNDL	  7647			MPARAM	  7643			SLASH	  1065+ CCLCD		
BEGGRP	  0002+ CCLCD		DVICE	G 0704+ CCLCD		MREAD	  7757			SLSHCH	  1000+ CCLCD		
BEGLN	  1000			DVNM1	  2014+ CCLCD		MSOVL2	  0055			SM8	  6254			
BFR	  3000			DVNM2	  2015+ CCLCD		MULTI	  0001			SOFSET	  7747			
BKA	  1234+ CCLCD		EQLPRM	X ****			MUNGC	  1132+ CCLCD		SPKLG1	  0224+ CCLCD		
CCERB	  1522+ CCLCD		ERRET	  0033			MUNGCE	  1136+ CCLCD		SPLNUM	  7777			
CCER1	E 1200+ CCLCD		ERROR	X ****			NAMECT	  0505+ CCLCD		SPTR	  2102+ CCLCD		
CCER2	  1215+ CCLCD		EXTLUK	  0705+ CCLCD		NAMERM	  0703+ CCLCD		SRCH	  2105+ CCLCD		
CCLBLK	  0067			EXTTBL	  6600			NAME1	  0023			SRPTR	  2151+ CCLCD		
CCLCD	  2200  RSECT		EXT2	  0625+ CCLCD		NAME2	  0024			SRSW	  2150+ CCLCD		
CCLDEV	  0001			EXT3	  0637+ CCLCD		NAME3	  0025			SSPTR	  2103+ CCLCD		
CCLHND	  0000			FILDMY	  0002			NAME4	  0026			STARJM	  1515+ CCLCD		
CCLINC	  0054			FILETB	  7000			NAME5	  0027			STARNM	  0442+ CCLCD		
CCLNUM	  0265			FILLP	  1605+ CCLCD		NAMPTR	X ****			STARSW	  0433+ CCLCD		
CCLSW	  0435			FILLP1	  1604+ CCLCD		NBS	  0065+ CCLCD		SWSTBL	  7360			
CCLSWT	  0301+ CCLCD		FLAG	X ****			NCNT	  2152+ CCLCD		SWTCHS	X ****			
CCLTAB	  0265			FLD: 0	  0200  ASECT		NEXTEX	  0677+ CCLCD		SYBLKN	  7774			
CCLVER	  0301			FNAME1	X ****			NFOU	  0744+ CCLCD		SYCNT	  7775			
CD	E 0000+ CCLCD		F0STUF	  7200			NLKUPI	  0041+ CCLCD		SYSTEM	  0022			
CDCONT	  1426+ CCLCD		GCH	E 1043+ CCLCD		NMBASE	  0037			T	  0020			
CDERA	  1625+ CCLCD		GETCCL	  1362			NMOVE	E 1641+ CCLCD		TABLES	X ****			
CDERJM	  1517+ CCLCD		GETHND	  0253+ CCLCD		NPTR	  2153+ CCLCD		TBLTBL	  6100			
CDER0	G 1221+ CCLCD		GETL	  0254+ CCLCD		NUMC	  1636+ CCLCD		TESBUF	  2000			
CDER1	  0730+ CCLCD		GETSPC	E 1600+ CCLCD		OCTES	  0244+ CCLCD		TRANSL	  2036+ CCLCD		
CDER2	  1520+ CCLCD		GIOT	  6770			OLENGT	  1072+ CCLCD		TT	  0021			
CDER3	  1210+ CCLCD		GLINE	  1200			OLOC	  2034+ CCLCD		UNKN	G 1466+ CCLCD		
CDER4	  1522+ CCLCD		GLXR	  0732+ CCLCD		ONE	  2074+ CCLCD		USR	  0200			
CDER44	  1524+ CCLCD		GNAME	  0400+ CCLCD		OS78BI	  7771			XFERV	G 0070			
CDER6	  0506+ CCLCD		GTNMLP	  0421+ CCLCD		OUTLIM	X ****			XR	  0016			
CDER7	  1526+ CCLCD		HNDLR	  4400			OUTSW	X ****			XR2	  0015			
CDER8	  1030+ CCLCD		JMSUB	  1706+ CCLCD		OV	  1375			XYZ	  0726+ CCLCD		
CDINIT	  1400+ CCLCD		JSBITS	  7746			PCLXR	  1271+ CCLCD		X240	  2056+ CCLCD		
CDNORM	E 1436+ CCLCD		KEYMON	  0403			PER	  0502+ CCLCD		ZEROCD	E 1032+ CCLCD		
CD6E	  0540+ CCLCD		KMNTRY	  0400			PERDSW	  0504+ CCLCD		ZERR	  1275+ CCLCD		
CLACON	  0663+ CCLCD		LBEGIN	X ****			PERIOD	  0465+ CCLCD		
CLXR	  0035			LENGTH	  0646+ CCLCD		POUND	X ****			
CTRLCK	  1241			LFAILD	  0671+ CCLCD		PRMES	  0330