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

/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 1
                                                 FILE # 1

   1			/3 PDP-12 DISPLAY CODE FOR TECO V50
   2			
   3			/ENTRY POINTS:
   4			
   5				.GLOBAL DSPLAY		/CALL TO REFRESH VR12
   6			
   7			/EXTERNALS:
   8			
   9				.ZTERNAL P		/TEXT BUFFER POINTER
  10				.ZTERNAL NUMLNS		/NUMBER OF LINES (+ AND -) TO DISPLAY
  11				.ZTERNAL R		/LINKAGE TEMPORARY
  12				.ZTERNAL NAME		/4 WORDS OF TEMPORARIES
  13			
  14			/PAGE 0 LITERALS:
  15			
  16				.ZTERNAL Z7		/7
  17				.ZTERNAL CAHT		/11
  18				.ZTERNAL Z177		/177
  19				.ZTERNAL Z4		/4
  20				.ZTERNAL ZM40		/-40
  21			
  22			/EXTERNALS:
  23			
  24				.EXTERNAL CHRL1		/ADVANCES LINES
  25				.EXTERNAL PUSHJ		/RECURSUVE PUSH JUMP ROUTINE
  26			
  27		7346  		MTHREE=CLL STA RTL
  28			
  29		0000 *	YPOS=	NAME		/USE SOME FREE PAGE ZERO LOCATIONS
  30		0001 *	DR=	NAME+1		/FOR OUR TEMPORARIES
  31		0002 *	DQ=	NAME+2
  32		0003 *	DM=	NAME+3
  33			
  34		0000  		.XSECT TEC12X
  35			
  36	 ?0000	0000  	DX,	0		/AUTO-INDEX REGISTER USED BY DISPLAY
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 2
                                                 FILE # 1

  37			
  38		0200  		.ASECT	TECO12
  39			
  40		4000  		*4000
  41			
  42			/DISPLAY ROUTINE FOR PDP-12 SCOPE
  43			
  44	 04000	0000  	WASTE,	0		/** MUST BE AT MULTIPLE OF 2000
  45	 04001	0000  	XPOS,	0		/PDP-12 BETA REGISTER 1
  46	 04002	0000  	BETA2,	0		/PDP-12 BETA REGISTER 2
  47			
  48	 04003	0000  	DSPLAY,	0		/TEXT DISPLAY ROUTINE FOR TECO
  49	 04004	7346  		MTHREE		/THIS ROUTINE DEPENDS ON THE FACT THAT THE
  50	 04005	1203  		TAD	DSPLAY	/HIGH ORDER BITS OF THE X-COORD ARE IGNORED
  51	 04006	3000 *		DCA	DX	/BY THE VR12 HARDWARE
  52	 04007	1400 *		TAD I	DX	/GET THE SKIP
  53	 04010	3305  		DCA	DLPTST	/PUT IT IN THE LOOP
  54	 04011	1000 *		TAD	P
  55	 04012	3000 *		DCA	DX
  56	 04013	1000 *		TAD	NUMLNS
  57	 04014	7161  		STL CIA		/LOOK BACKWARD
  58	 04015	0000 *		PUSHJ		/FOR BEGINNING OF DISPLAY AREA
  59	 04016	0000 *			CHRL1
  60	 04017	7360  	D360,	STA STL		/=7360
  61	 04020	1000 *		TAD	P
  62	 04021	3003 *		DCA	DM
  63	 04022	1000 *		TAD	DX
  64	 04023	3000 *		DCA	P	/RESTORE POSITION
  65	 04024	1000 *		TAD	NUMLNS	/NOW SCAN FORWARD
  66	 04025	7101  		CLL IAC
  67	 04026	0000 *		PUSHJ		/FOR THE END OF THE DISPLAY AREA
  68	 04027	0000 *			CHRL1
  69	 04030	1000 *		TAD	P
  70	 04031	7041  		CIA
  71	 04032	1003 *		TAD	DM
  72	 04033	3000 *		DCA	R	/*K* THIS NUMBER MUST GO IN R -
  73	 04034	1000 *		TAD	DX	/THE W COMMAND NEEDS IT THERE
  74	 04035	3000 *		DCA	P	/RESTORE ORIGINAL P
  75	 04036	1000 *	DSETUP,	TAD	P
  76	 04037	7041  		CIA
  77	 04040	1003 *		TAD	DM
  78	 04041	3002 *		DCA	DQ	/SAVE COUNT OF CHARS TO CURSOR POSITION
  79	 04042	1003 *		TAD	DM
  80	 04043	3000 *		DCA	DX
  81	 04044	1000 *		TAD	R
  82	 04045	3001 *		DCA	DR
  83	 04046	1217  		TAD	D360
  84	 04047	3000 *		DCA	YPOS
  85	 04050	1365  	DISCR,	TAD	DISLF
  86	 04051	3201  	SETXPS,	DCA	XPOS	/SET X POSITION/COLUMN COUNTER
  87	 04052	5305  		JMP	DLPTST
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 3
                                                 FILE # 1

  88			
  89				/DISPLAY LOOP
  90			
  91	 04053	6211  	DGETCH,	CDF 10
  92	 04054	1400 *		TAD I	DX
  93	 04055	6201  		CDF 0		/GET THE CHARACTER FROM FIELD 1
  94	 04056	0000 *		AND	Z177	/AND OFF THE HIGH ORDER BITS
  95	 04057	1377  		TAD	(-33
  96	 04060	7450  		SNA		/CHANGE ALTMODES
  97	 04061	1000 *		TAD	CAHT	/TO DOLLAR SIGNS
  98	 04062	1376  		TAD	(-5
  99	 04063	7540  		SMA SZA		/IF NOT A CONTROL CHARACTER
 100	 04064	5304  		JMP	DLOOP	/DISPLAY IT AND KEEP GOING
 101	 04065	7450  		SNA
 102	 04066	5342  		JMP	DBLANK	/DO BLANKS FAST
 103	 04067	1375  		TAD	(40-15
 104	 04070	7450  		SNA		/CR?
 105	 04071	5250  		JMP	DISCR	/YES - RESET X COORD
 106	 04072	7120  		STL
 107	 04073	1000 *		TAD	Z4
 108	 04074	7450  		SNA		/TAB?
 109	 04075	5332  		JMP	DTABB
 110	 04076	7420  		SNL
 111	 04077	5365  		JMP	DISLF	/LINE FEED, VERTICAL TAB, OR FORM FEED
 112	 04100	1374  		TAD	(51	/ORDINARY CONTROL CHAR - RESTORE IT + 40
 113	 04101	3200  		DCA	WASTE	/SAVE CHAR
 114	 04102	4347  		JMS	DISCHR	/DISPLAY ^
 115	 04103	1200  		TAD	WASTE	/NOW DISPLAY ALTERED CHAR
 116	 04104	4347  	DLOOP,	JMS	DISCHR
 117			
 118	 04105	7402  	DLPTST,	HLT		/EITHER KSF OR TSF OR "ISZ R"
 119	 04106	7410  		SKP
 120	 04107	5603  		JMP I	DSPLAY	/EXIT IMMEDIATELY IF TEST SKIPS
 121	 04110	2002 *		ISZ	DQ	/ARE WE AT THE CURRENT POINTER POSITION?
 122	 04111	5327  		JMP	TSTEDS	/NO
 123	 04112	1376  		TAD	(-5
 124	 04113	1201  		TAD	XPOS
 125	 04114	3201  		DCA	XPOS	/BACK UP X POSITION A HALF-CHARACTER
 126	 04115	1320  		TAD	DM20
 127	 04116	1000 *		TAD	YPOS
 128	 04117	6141  		6141		/ENTER LINC MODE
 129	 04120	1760  	DM20,	1760		/DSC I
 130	 04121	2000  		2000
 131	 04122	1760  		1760		/DISPLAY A ^
 132	 04123	2076  		2076
 133	 04124	0002  		0002		/PDP
 134	 04125	7346  		MTHREE		/AND MOVE X POSITION BACK TO WHERE IT WAS
 135	 04126	5343  		JMP	DBLANK+1
 136	 04127	2001 *	TSTEDS,	ISZ	DR	/ARE WE THROUGH?
 137	 04130	5253  		JMP	DGETCH	/NO
 138	 04131	5236  		JMP	DSETUP	/YES - START OVER
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 4
                                                 FILE # 1

 139			
 140	 04132	1201  	DTABB,	TAD	XPOS	/DISPLAY TAB
 141	 04133	7040  		CMA
 142	 04134	0000 *		AND	Z7
 143	 04135	3200  		DCA	WASTE	/GET NUMBER OF COLUMNS TO GO (-1)
 144	 04136	1200  		TAD	WASTE
 145	 04137	7106  		CLL RTL
 146	 04140	7004  		RAL
 147	 04141	1200  		TAD	WASTE	/MULTIPLY BY 9
 148	 04142	1000 *	DBLANK,	TAD	CAHT	/BUMP ONE MORE COLUMN
 149	 04143	1201  		TAD	XPOS
 150	 04144	7440  		SZA		/OVERFLOW?
 151	 04145	5251  		JMP	SETXPS	/NO - SET XPOS AND CONTINUE
 152	 04146	5363  		JMP	LINOFL	/YES - GO TO THE NEXT LINE
 153			
 154			/SUBROUTINE TO DISPLAY A CHARACTER
 155			
 156	 04147	4105  	DISCHR,	DLPTST		/*K* DISCHR MUST CONTAIN "DLPTST" WHEN WE
 157	 04150	7104  		CLL RAL		/ARE EXAMINING CHARACTERS **
 158	 04151	1373  		TAD	(DTABLE-1
 159	 04152	3202  		DCA	BETA2	/STORE ADDRESS OF TABLE ENTRY FOR CHAR -1
 160	 04153	1000 *		TAD	YPOS
 161			
 162	 04154	6141  		6141		/ENTER LINC MODE
 163	 04155	1762  		1762		/DSC I 2
 164	 04156	1762  		1762		/DSC I 2
 165	 04157	0002  		0002		/RE-ENTER PDP-8 MODE
 166			
 167	 04160	7200  		CLA
 168	 04161	2201  		ISZ	XPOS	/BUMP THE X COORDINATE/COLUMN COUNTER
 169	 04162	5747  		JMP I	DISCHR	/RETURN
 170	 04163	1372  	LINOFL,	TAD	(7054	/INDENT ALL CONTINUATION LINES
 171	 04164	3201  		DCA	XPOS
 172	 04165	7010  	DISLF,	RAR		/*K* RAR=7010  AC MAY HAVE A SMALL NUMBER
 173	 04166	1000 *		TAD	YPOS	/IN IT HERE - THATS OK AS LONG AS ITS SMALL,
 174	 04167	1000 *		TAD	ZM40	/SINCE ONLY THE HIGH 8 BITS OF YPOS COUNT.
 175	 04170	3000 *		DCA	YPOS
 176	 04171	5747  		JMP I	DISCHR	/*K* THIS ALWAYS RETURNS TO DLPTST **
	------
	 04172	7054  
	 04173	4177  
	 04174	0051  
	 04175	0023  
	 04176	7773  
	 04177	7745  
 177		4200  		PAGE
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 5
                                                 FILE # 1

 178			
 179	 04200	2000  	DTABLE,	2000;2076;	7500;0000;	7000;0070;	7714;1477
	 04201	2076  
	 04202	7500  
	 04203	0000  
	 04204	7000  
	 04205	0070  
	 04206	7714  
	 04207	1477  
 180	 04210	5721  		5721;4671;	6661;4333;	5166;0526;	0000;0070
	 04211	4671  
	 04212	6661  
	 04213	4333  
	 04214	5166  
	 04215	0526  
	 04216	0000  
	 04217	0070  
 181	 04220	3600  		3600;0041;	4100;0036;	2050;0050;	0404;0437
	 04221	0041  
	 04222	4100  
	 04223	0036  
	 04224	2050  
	 04225	0050  
	 04226	0404  
	 04227	0437  
 182	 04230	0500  		0500;0006;	0404;0404;	0001;0000;	0601;4030
	 04231	0006  
	 04232	0404  
	 04233	0404  
	 04234	0001  
	 04235	0000  
	 04236	0601  
	 04237	4030  
 183	 04240	4536  		4536;3651;	2101;0177;	4523;2151;	4122;2651
	 04241	3651  
	 04242	2101  
	 04243	0177  
	 04244	4523  
	 04245	2151  
	 04246	4122  
	 04247	2651  
 184	 04250	2414  		2414;0477;	5172;0651;	1506;4225;	4443;6050
	 04251	0477  
	 04252	5172  
	 04253	0651  
	 04254	1506  
	 04255	4225  
	 04256	4443  
	 04257	6050  
 185	 04260	5126  		5126;2651;	5122;3651;	2200;0000;	4601;0000
	 04261	2651  
	 04262	5122  
	 04263	3651  
	 04264	2200  
	 04265	0000  
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 5-1
                                                 FILE # 1

	 04266	4601  
	 04267	0000  
 186	 04270	1000  		1000;4224;	1212;1212;	2442;0010;	4020;2055
	 04271	4224  
	 04272	1212  
	 04273	1212  
	 04274	2442  
	 04275	0010  
	 04276	4020  
	 04277	2055  
 187	 04300	4077  		4077;5751;	4477;7744;	5177;2651;	4136;2241
	 04301	5751  
	 04302	4477  
	 04303	7744  
	 04304	5177  
	 04305	2651  
	 04306	4136  
	 04307	2241  
 188	 04310	4177  		4177;3641;	4577;4145;	4477;4044;	4136;2645
	 04311	3641  
	 04312	4577  
	 04313	4145  
	 04314	4477  
	 04315	4044  
	 04316	4136  
	 04317	2645  
 189	 04320	1077  		1077;7710;	7741;0041;	4142;4076;	1077;4324
	 04321	7710  
	 04322	7741  
	 04323	0041  
	 04324	4142  
	 04325	4076  
	 04326	1077  
	 04327	4324  
 190	 04330	0177  		0177;0301;	3077;7730;	3077;7706;	4177;7741
	 04331	0301  
	 04332	3077  
	 04333	7730  
	 04334	3077  
	 04335	7706  
	 04336	4177  
	 04337	7741  
 191	 04340	4477  		4477;3044;	4276;0376;	4477;3146;	5121;4651
	 04341	3044  
	 04342	4276  
	 04343	0376  
	 04344	4477  
	 04345	3146  
	 04346	5121  
	 04347	4651  
 192	 04350	4040  		4040;4077;	0177;7701;	0176;7402;	0677;7701
	 04351	4077  
	 04352	0177  
	 04353	7701  
	 04354	0176  
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 5-2
                                                 FILE # 1

	 04355	7402  
	 04356	0677  
	 04357	7701  
 193	 04360	1463  		1463;6314;	0770;7007;	4543;6151;	4177;0000
	 04361	6314  
	 04362	0770  
	 04363	7007  
	 04364	4543  
	 04365	6151  
	 04366	4177  
	 04367	0000  
 194	 04370	3040  		3040;0106;	0000;7741;	2000;2076;	1604;0404
	 04371	0106  
	 04372	0000  
	 04373	7741  
	 04374	2000  
	 04375	2076  
	 04376	1604  
	 04377	0404  
 195			
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 6
                                                 FILE # 1

 196			
/3 PDP-12 DISPLAY CODE FOR TECO   MACREL-V2C  FRI 07-DEC-90  PAGE 7
SYMBOL TABLE

BETA2	  4002			
CAHT	Z 0***			
CHRL1	X ****			
DBLANK	  4142			
DGETCH	  4053			
DISCHR	  4147			
DISCR	  4050			
DISLF	  4165			
DLOOP	  4104			
DLPTST	  4105			
DM	  0003+ NAME		
DM20	  4120			
DQ	  0002+ NAME		
DR	  0001+ NAME		
DSETUP	  4036			
DSPLAY	G 4003			
DTABB	  4132			
DTABLE	  4200			
DX	  0000+ TEC12X		
D360	  4017			
FLD: 0	  0200  ASECT		
LINOFL	  4163			
MTHREE	  7346			
NAME	Z 0***			
NUMLNS	Z 0***			
P	Z 0***			
PUSHJ	X ****			
R	Z 0***			
SETXPS	  4051			
TECO12	  4400  ASECT		
TEC12X	  0001  XSECT		
TSTEDS	  4127			
WASTE	  4000			
XPOS	  4001			
YPOS	  0000+ NAME		
ZM40	Z 0***			
Z177	Z 0***			
Z4	Z 0***			
Z7	Z 0***