Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50370/pdp.8
There are no other files named pdp.8 in the archive.
00100	DEFINE WA
00150	<MOVE 1,[0,,000777]
00200	SOJG 1,.-1>
00250	DEFINE CLR
00300	<CLRBFI>
00350	DEFINE T
00400	<MOVE 2,[0,,0]
00450	>
00500	EXTERNAL START,FINISH,OPEN1,OPEN2,LOK1,ENT1,IN7,OUT7,CLOS1,CLOS2,REL
00550	ENTRY PD8
00600	AM1:DEFINE Z6
00650	<MOVE 1,[0,,0]
00700	MOVE 2,[0,,6]
00750	MOVEM 1,(2)
00800	SOJG 2,.-1
00850	T>
00900	DEFINE Z17
00950	<MOVE 1,[0,,0]
01000	MOVE 2,[0,,17]
01050	MOVEM 1,(2)
01100	SOJ 2,
01150	CAIE 2,6
01200	JUMPA .-3>
01250	DEFINE CR
01300	<OUTCHR [15]
01350	 OUTCHR [12]>
01400	DEFINE BL
01450	<OUTCHR [40]
01500	>
01550	DEFINE IN
01600	<INCHRW 1
01650	>
01700	DEFINE OUT
01750	<OUTCHR 1>
01800	AM7:DEFINE BL4
01850	<OUTCHR [40]
01900	OUTCHR [40]
01950	OUTCHR [40]
02000	OUTCHR [40]
02050	>
02100	AM8:DEFINE SPACE
02150	<OUTCHR [40]
02200	>
02250	DEFINE NUMB(A)
02300	<MOVE 12,A
02350	MOVE 11,[0,,0]
02400	ASHC 11,2
02450	ADDI 11,60
02500	OUTCHR 11
02550	MOVE 17,[0,,13]
02600	MOVE 11,[0,,0]
02650	ASHC 11,3
02700	ADDI 11,60
02750	OUTCHR 11
02800	SOJG 17,.-4
02850	OUTCHR [40]
02900	>
02950	AM10:DEFINE NUIN
03000	<MOVE 2,[0,,0]
03050	MOVE 1,[0,,0]
03100	INCHRW 1
03150	SUBI 1,60
03200	IMULI 2,10
03250	ADD 2,1
03300	INCHRW 1
03350	CAIE 1,15
03400	JUMPA .-5
03450	>
03500	A:JUMPA M1+1
03550	H:CR
03600	NUMB(2)
03650	CR
03700	Z17
03750	Z6
03800	IN
03850	V:NUIN
03900	BL
03950	V2:JSA 16,MN
04000	ARG 2
04050	CR
04100	NUMB(2)
04150	Z17
04200	Z6
04250	IN
04300	CR
04350	IN
04400	IN
04450	JSA 16,RUPT
04500	ARG 1
04550	ZT:CR
04600	CLR
04650	NUIN
04700	MOVEM 2,3
04750	CR
04800	CLR
04850	NUIN
04900	JSA 16,LIM
04950	ARG 3
05000	ARG 2
05050	CR
05100	NUMB(3)
05150	CR
05200	JUMPA IN1
05250	MN:0
05300	MOVE 6,@(16)
05350	ASHC 5,27
05400	ASH 6,-27
05450	MOVE 5,[0,,7777]
05500	TDCN 6,5
05550	HJ:AOJ 6,
05600	AOJ 6,
05650	MOVEM 6,@(16)
05700	JRA 16,1(16)
05750	RUPT:0
05800	MOVE 1,@(16)
05850	CAIE 1,41
05900	JRA 16,1(16)
05950	M200:OUTSTR [ASCIZ/!!!!...INTERUPTION...!!!/]
06000	CR
06050	M201:OUTSTR [ASCIZ/INPUT LOW LC TO TRANSLATE/]
06100	CR
06150	NUIN
06200	MOVEM 2,3
06250	CR
06300	M203:OUTSTR [ASCIZ/ UP LC TO TRANS./]
06350	CR
06400	IN
06450	NUIN
06500	JSA 16,TRANS
06550	ARG 3
06600	ARG 2
06650	CR
06700	JRA 16,1(16)
06750	TRANS:0
06800	CR
06850	MOVE 6,@(16)
06900	MOVE 7,@1(16)
06950	MOVE 10,[0,,PD8]
07000	ADD 6,6
07050	ADD 7,7
07100	ADD 6,10
07150	ADD 7,10
07200	A76:MOVE 10,[0,,3]
07250	CAMGE 7,6
07300	JUMPA OUT1
07350	CR
07400	BL4
07450	MOVE 12,@6
07500	NUMB (12)
07550	Y:BL
07600	BL
07650	MOVE 12,(6)
07700	AS12:MOVE 11,[0,,0]
07750	AS1:ASHC 11,10
07800	OUTCHR 11
07850	AS45:MOVE 11,[0,,0]
07900	AS43:ASHC 11,11
07950	OUTCHR 11
08000	SOJG 10,AS45
08050	BL
08100	BL
08150	AOJ 6,
08200	MOVE 12,@6
08250	NUMB(12)
08300	CR
08350	YZ:AOJ 6,
08400	JUMPA A76
08450	OUT1:MOVE 10,[0,,PD8]
08500	JRA 16,2(16)
08550	EXAM:0
08600	MOVE 14,@(16)
08650	KT:JSA 16,TRANS
08700	ARG 14
08750	ARG 14
08800	MOVE 14,@1(16)
08850	JSA 16,TRANS
08900	ARG 14
08950	ARG 14
09000	JRA 16,2(16)
09050	
09100	
09150	
09200	LIM:0
09250	MOVE 17,@(16)
09300	SX:CAIGE 17,200
09350	JUMPA L
09400	SUBI 17,200
09450	CAIL 17,200
09500	JUMPA .-2
09550	AX:MOVEM 17,15
09600	MOVE 17,@(16)
09650	SUB 17,15
09700	L1:MOVE 15,@1(16)
09750	SUB 15,17
09800	CAIGE 15,0
09850	JUMPA PZ
09900	CAIL 15,200
09950	JUMPA ER
10000	MOVE 17,[0,,1]
10050	OKA:MOVEM 15,@(16)
10100	MOVEM 17,@1(16)
10150	J0:JRA 16,2(16)
10200	L:MOVE 17,[0,,0]
10250	JUMPA L1
10300	PZ:MOVE 17,@1(16)
10350	MOVEM 17,@(16)
10400	MOVE 17,[0,,0]
10450	MOVEM 17,@1(16)
10500	JRA 16,2(16)
10550	ER:CR
10600	OUTSTR [ASCIZ/OUT OF PAGE ADRESS/]
10650	CR
10700	MOVE 17,@(16)
10750	MOVE 15,@1(16)
10800	KU:JSA 16,EXAM
10850	ARG 17
10900	ARG 15
10950	MOVE 17,[0,,0]
11000	MOVEM 17,@(16)
11050	MOVEM 17,@1(16)
11100	JRA 16,2(16)
11150	COM:101116104;		AND
11200	COMA:0000
11250	C01:124101104;		TAD
11300	C01A:1000
11350	C02:111123132;		ISZ
11400	C02A:2000
11450	C03:104103101;		DCA
11500	C03A:3000
11550	C04:112115123;		JMS
11600	C04A:4000
11650	C05:112115120;		JMP
11700	C05A:5000
11750	C06:111117124;		IOT
11800	C06A:6000
11850	C07:117120122;		OPR
11900	C07A:7000
11950	C08:116117120;		NOP
12000	C08A:7000
12050	C09:103114101;		CLA
12100	C09A:7200
12150	C10:103114114;		CLL
12200	C10A:7100
12250	C11:103115101;		CMA
12300	C11A:7040
12350	C12:102115114;		CML
12400	C12A:7020
12450	C13:122101122;		RAR
12500	C13A:7010
12550	C14:122101114;		RAL
12600	C14A:7004
12650	C15:122124122;		RTR
12700	C15A:7012
12750	C16:122124114;		RTL
12800	C16A:7006
12850	C17:111101103;		IAC
12900	C17A:7001
12950	C18:102123127;		BSW
13000	C18A:7002
13050	C19:123115101;		SMA
13100	C19A:7500
13150	C20:123132101;		SZA
13200	C20A:7440
13250	C21:123120101;		SPA
13300	C21A:7510
13350	C22:123116101;		SNA
13400	C22A:7450
13450	C23:123116114;		SNL
13500	C23A:7420
13550	C24:123132114;		SZL
13600	C24A:7430
13650	C25:123113120;		SKP
13700	C25A:7410
13750	C26:117123122;		OSR
13800	C26A:7404
13850	C27:110114124;		HLT
13900	C27A:7402
13950	C28:103114101;		CLA
14000	C28A:7600
14050	C29:113103106;		KCF
14100	C29A:6030
14150	C30:113123106;		KSF
14200	C30A:6031
14250	C31:113103103;		KCC
14300	C31A:6032
14350	C32:113122123;		KRS
14400	C32A:6034
14450	C33:113111105;		KIE
14500	C33A:6035
14550	C34:113122102;		KRB
14600	C34A:6036
14650	C35:123120106;		SPF
14700	C35A:6040
14750	C36:124123106;		TSF
14800	C36A:6041
14850	C37:124103106;		TCF
14900	C37A:6042
14950	C38:124120103;		TPC
15000	C38A:6044
15050	C39:123120111;		SPI
15100	C39A:6045
15150	C40:124114123;		TLS
15200	C40A:6046
15250	C41:123113117116;	SKON
15300	C41A:6000
15350	C42:111117116;		ION
15400	C42A:6001
15450	C43:111117106;		IOF
15500	C43A:6002
15550	C44:123122121;		SRQ
15600	C44A:6003
15650	C45:107124106;		GTF
15700	C45A:6004
15750	C46:122124106;		RTF
15800	C46A:6005
15850	C47:123107124;		SGT
15900	C47A:6006
15950	C48:103101106;		CAF
16000	C48A:6007
16050	C49:116117120;		NOP
16100	C49A:7000
16150	PD8:101102103104
16200	PD81:1000
16250	PD82:103104105106
16300	PD83:3000
16350	PD84:102102102102
16400	PD85:3400
16450	PD86:101101101061
16500	PD87:2000
16550	PD88:103103103062
16600	PD89:1010
16650	PD90:101060060060
16700	PD91:0000
16750	PD92:BLOCK 11000
16775	LMAX:0
16800	LAB:BLOCK 502
16850	LC:0
16900	ALC:0
16950	PD:0
17000	PD1:0
17050	CELL:10000
17100	ZER:0
17150	X1:0
17200	X2:0
17250	X3:0
17300	X4:0
17350	X5:0
17400	X6:0
17450	X7:0
17500	X8:0
17550	X9:0
17600	X10:0
17650	X11:0
17700	X12:0
17750	X13:0
17800	X22:0
17850	STA:0
17900	F500:5000
17950	CR
18000	CLR
18050	IN1:MOVE 10,[0,,LAB]
18100	MOVEM 10,X9
18150	MOVE 10,[0,,LC]
18200	MOVEM 10,ALC
18250	Z17
18300	Z6
18350	M0:OUTSTR [ASCIZ/INITIALIZATION WILL BE DONE NOW/]
18400	CR
18450	CLR
18500	A1:Z6
18550	AH:MOVEM 1,PD8(2)
18600	AOJ 2,
18650	MOVEM 3,PD8(2)
18700	AOJ 2,
18750	CAMGE 2,F500
18800	AOJA 1,AH
18805	MOVE 10,[0,,LAB]
18810	MOVE 2,LMAX
18815	ADD 2,2
18820	ADD 10,2
18825	MOVEM 10,X9
18850	M1:OUTSTR [ASCIZ/PD8 TABLE NUMBERED/]
18900	CR
18950	M2:OUTSTR [ASCIZ/INPUT PROGRAM     /]
19000	CR
19050	CLR
19100	A31:Z6
19150	A3:BL
19200	CLR
19250	IN
19300	CAIE 1,52
19350	JUMPA A3
19400	BL
19450	CLR
19500	A4:NUIN
19550	MOVEM 2,LC
19600	MOVEM 2,X1
19650	CR
19700	OUTSTR [ASCIZ/LC VALUE (*) KNOWN IS IN LC/]
19750	CR
19800	CLR
19850	MOVE 2,LC
19900	ADD 2,2
19950	CAIL 2,CELL
20000	JUMPA INVAL
20050	Z6
20100	JUMPA A60
20150	INVAL:CR
20200	MZ5:OUTSTR [ASCIZ/TOO HIGH !!!!!/]
20250	CR
20300	JUMPA A31
20350	A60:Z6
20400	A61:CR
20450	CLR
20500	Z6
20550	A6:IN
20600	MOVEM 1,X22
20650	JSA 16,RUPT
20700	ARG 1
20750	OUTCHR 5
20800	CLR
20850	MOVE 1,X22
20900	CAIN 1,41
20950	JUMPA A61
21000	CAIN 1,100
21050	JUMPA COMP
21100	CAIN 1,52
21150	JUMPA  A4
21200	TAB1:CAIN 1,11
21250	JUMPA LBEN
21300	LABL:MOVE 10,X9
21350	MOVE 13,[0,,2]
21400	A7:ASH 2,11   ;CHECK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21450	ADD 2,1
21500	SOJE 13,A8
21550	MOVE 1,[0,,0]
21600	IN
21650	JUMPA A7
21700	A8:MOVEM 2,(10)
21750	MOVEM 2,X2
21800	AOJ 10,
21850	MOVE 2,LC
21900	MOVEM 2,(10)
21950	AOJ 10,
22000	MOVEM 10,X9
22020	AOS ,LMAX
22050	JUMPA GAS
22100	LBEN:BL4
22150	GAS:BL4
22200	CLR
22250	Z17
22300	Z6
22350	A98:BL
22400	CLR
22450	A9:INCHRW 1
22500	CAIN 1,72
22550	JUMPA COMN
22600	CAIN 1,54
22650	JUMPA NUMER
22700	JUMPA A98
22750	NUMER:CLR
22800	IN
22850	CAIN 1,55
22900	JUMPA MINUS
22950	Z6
23000	PLUS:CLR
23050	IN
23100	CAIN 1,15
23150	JUMPA PUT1
23200	CAIGE 1,60
23250	JUMPA PLUS
23300	SUBI 1,60
23350	IMULI 2,10
23400	ADD 2,1
23450	JUMPA PLUS
23500	PUT1:MOVEM 2,X4
23550	Z6
23600	JUMPA A10
23650	MINUS:MOVE 17,[0,,6]
23700	M8:OUTSTR [ASCIZ/(MINUS)/]
23750	CLR
23800	Z6
23850	JUMPA PLUS
23900	A10:CAIE 17,6
23950	JUMPA PUT
24000	MOVE 17,[0,,0]
24050	MOVE 6,X4
24100	JSA 16,MN
24150	ARG 6
24200	MOVEM 6,X4
24250	PUT:BL
24300	CLR
24350	CLR
24400	Z17
24450	Z6
24500	MOVE 1,[0,,PD8]
24550	MOVE 2,LC
24600	ADD 2,2
24650	AOJ 2,
24700	ADD 2,1
24750	MOVE 3,X4
24800	MOVEM 3,(2)
24850	Z17
24900	Z6
24950	BL
25000	CLR
25050	A11:IN
25100	CAIN 1,100
25150	JUMPA COMP
25200	CAIE 1,15
25250	JUMPA  OPR
25300	BL
25350	CLR
25400	LC1:MOVE 2,LC
25450	AOJ 2,
25500	MOVEM 2,LC
25550	MOVEM 2,X1
25600	BL4
25650	
25700	CR
25750	CLR
25800	Z17
25850	Z6
25900	JUMPA A6
25950	COMN:BL
26000	CLR
26050	Z17
26100	Z6
26150	MOVE 3,[0,,3]
26200	A20:IN
26250	ASH 2,11
26300	ADD 2,1
26350	SOJG 3,A20
26400	MOVE 4,[0,,COM]
26450	MOVE 3,[0,,60]
26500	CN:CAMN 2,(4)
26550	JUMPA FIND
26600	AOJ 4,
26650	AOJ 4,
26700	SOJG 3,CN
26750	NOFND:BL
26800	MNOF:OUTSTR [ASCIZ/NO SUCH COMMAND,TRY AGAIN/]
26850	CLR
26900	JUMPA COMN
26950	FIND:AOJ 4,   
27000	MOVE 1,(4)
27050	MOVEM 1,X4
27100	Z17
27150	Z6
27200	JUMPA PUT
27250	COMP:CR
27300	M50:OUTSTR [ASCIZ/COMPILATION STARTS/]
27350	CR
27400	CLR
27450	Z17
27500	Z6
27550	MOVEM 1,X7
27600	MOVE 13,[0,,PD8]
27650	MOVE 10,X9
27700	MOVE 4,[0,,LAB]
27750	MOVE 1,[0,,PD8]
27800	K9:MOVE 3,(1)
27850	ASH 3,-13
27900	JUMPG 3,POD
27950	AJ1:EXCH 11,X7
28000	AOJ 11,
28050	EXCH 11,X7
28100	AJ:AOJ 1,
28150	AOJ 1,
28200	MOVE 3,[0,,0]
28250	CAIGE 1,4777
28300	JUMPA K9
28350	JUMPA ENCO
28400	POD:MOVE 4,[0,,LAB]
28450	POD1:MOVE 3,(1)
28500	CAMN 3,(4)
28550	JUMPA SET
28600	AOJ 4,
28650	AOJ 4,
28700	CAML 4,X9
28750	JUMPA NOLAB
28800	JUMPA POD1
28850	SET:AOJ 4,
28900	MOVE 5,(4)
28950	MOVE 13,X7
29000	JSA 16,LIM
29050	ARG 13
29100	ARG 5
29150	ASH 5,7
29200	ADD 5,13
29250	AOJ 1,
29300	ADD 5,(1)
29350	MOVEM 5,(1)
29400	SOJ 1,
29450	MOVE 13,X7
29500	MOVEM 13,(1)
29550	JUMPA    AJ1
29600	NOLAB:CR
29650	OUTSTR [ASCIZ/LABEL NOT FOUND/]
29700	CR
29750	CLR
29800	MOVE 15,X7
29850	JSA 16,TRANS
29900	ARG 15
29950	ARG 15
30000	CR
30050	JUMPA AJ1
30100	ENCO:CLR
30150	Z17
30200	Z6
30250	ENCO1:CR
30300	OUTSTR [ASCIZ/!!! TO INTERRUPT, ANYTHING TO CONTINUE/]
30350	CLR
30400	IN
30450	JSA 16,RUPT
30500	ARG 1
30550	JUMPA CENT
30600	EX:OUTSTR [ASCIZ/START EXEC. AT LABEL:/]
30650	BL
30700	Z17
30750	Z6
30800	CLR
30850	EX1:MOVE 3,[0,,2]
30900	KOP:IN
30950	ASH 2,11
31000	ADD 2,1
31050	SOJG 3,KOP
31100	MOVEM 2,X11
31150	MOVE 1,[0,,LAB]
31200	EX12:CAMN 2,(1)
31250	JUMPA STR
31300	AOJ 1,
31350	AOJ 1,
31400	CAMGE 1,X9
31450	JUMPA EX12
31500	OUTSTR [ASCIZ/      NO     SUCH LABEL /]
31550	JUMPA CENT
31600	STR:AOJ 1,
31650	MOVE 2,(1)
31700	MOVEM 2,STA
31750	MOVEM 2,X11
31800	JUMPA ST12
31850	OPR:CLR
31900	MOVEM 1,2
31950	CLR
32000	CAIN 2,111
32050	JUMPA I1
32100	OPR1:MOVE 3,[0,,1]
32150	Q97:ASH 2,11
32200	IN
32250	ADD 2,1
32300	SOJG 3,Q97
32350	MOVEM 2,X5
32400	MOVE 1,[0,,PD8]
32450	MOVE 3,LC
32500	ADD 3,3
32550	ADD 1,3
32600	MOVE 2,X5
32650	MOVEM 2,(1)
32700	BL
32750	CLR
32800	JUMPA LC1
32850	I1:BL
32900	MOVE 17,[0,,400]
32950	MOVE 1,[0,,PD8]
33000	MOVE 2,LC
33050	ADD 2,2
33100	AOJ 2,
33150	ADD 2,1
33200	MOVE 3,(2)
33250	ADD 3,17
33300	MOVEM 3,(2)
33350	CLR
33400	Z17
33450	Z6
33500	IN
33550	MOVEM 1,2
33600	JUMPA OPR1
33642	DEFINE MAP(AC,W)
33644	<MOVE 12,[0,,0]
33646	LDB 12,[POINT W,AC,35]
33648	MOVE AC,12>
33650	DEFINE LOC(%AK,%ZP,%YU)
33700	<MOVE 3,PD8(2)
33750	MOVE 6,[0,,0]
33800	MOVE 5,[0,,0]
33850	LDB 5,[POINT 7,3,35]
33900	LDB 6,[POINT 1,3,28]
33950	SOJL 6,%ZP
34000	MOVE 10,STA
34050	CAIGE 10,200
34100	JUMPA %AK
34150	SUBI 10,200
34200	JUMPA .-3
34250	%AK:MOVE 11,STA
34300	SUB 11,10
34350	ADD 5,11
34400	%ZP:IMULI 5,2
34450	MOVE 4,5
34500	SETZ 6
34550	LDB 6,[POINT 1,PD8(2),27]
34600	SOJL 6,%YU
34650	AOJ 5,
34700	MOVE 4,PD8(5)
34750	IMULI 4,2
34800	%YU:AOJ 4,>
34850	DEFINE DEBUG
34900	<
34950	MOVEM 2,X1
35000	MOVEM 4,X2
35050	MOVEM 15,X3
35100	OUTSTR [ASCIZ/!  TO DEBUG ANYTHING TO CONTINUE/]
35150	CLR
35200	IN
35250	JSA 16,RUPT
35300	ARG 1
35350	CLR
35400	MOVE 2,X1
35450	MOVE 4,X2
35500	MOVE 15,X3
35550	OUTSTR [ASCIZ/END OF DEBUG/]
35600	>
35650	DEFINE ACUM
35700	<LSH 15,27
35750	LSH 15,-27
35800	>
35850	DEFINE TYPE(A)
35900	<CLR
35950	NUMB(A)
36000	CR>
36100	CENTO:CLR
36150	CENT:OUTSTR[ASCIZ/CENT/]
36200	CR
36250	CLR
36300	IN
36350	MOVEM 1,0
36400	JSA 16,RUPT
36450	ARG 1
36500	MOVE 1,0
36550	CAIN 1,64
36600	JUMPA IN1
36650	CAIN 1,65
36700	JUMPA M2
36750	CAIN 1,61
36800	JSA 16,START
36850	CAIN 1,62
36900	JSA 16,FINISH
36950	CAIN 1,63
37000	JUMPA RD
37050	CAIN 1,66
37100	JUMPA RITE
37150	CAIN 1,77
37200	JUMPA RELI
37250	CAIN 1,102
37300	JUMPA COMP
37350	CAIN 1,103
37400	JUMPA EX
37450	CAIN 1,104
37500	JUMPA EX
37550	JUMPA CENT
37600	RD:JSA 16,OPEN1
37650	JSA 16,LOK1
37700	JSA 16,IN7
37750	JSA 16,CLOS1
37800	JUMPA CENT
37850	RITE:JSA 16,OPEN2
37900	JSA 16,ENT1
37950	JSA 16,OUT7
38000	JSA 16,CLOS2
38050	JUMPA CENT
38100	RELI:JSA 16,REL
38150	JUMPA CENT
38200	BEN:OUTSTR [ASCIZ/TYPE 1,2,3,4,5,6,7,A,B,C,D/]
38205	CR
38210	OUTSTR [ASCIZ/B: COMPILE, C OR D: EXECUTE, /]
38220	OUTSTR [ASCIZ/3: COPY FROM DISK, 6: WRITE ON DISK/]
38225	CR
38230	OUTSTR [ASCIZ/4: TO START WRITING PROGRAM WITH * (DESTROYS OTHER PROGRAMS ON FILE)/]
38240	CR
38242	OUTSTR [ASCIZ/5: START PROGRAM INPUT (PRESERVES OTHER PROGRAMS ON FILE/]
38244	CR
38246	OUTSTR [ASCIZ/UPPER CASE 1(!): INTERRUPT FACILITY TO EXAMINE COMPILATION ANYWHERE/]
38248	CR
38250	JUMPA CENT
38300	DEFINE CMA(%TMSK)
38350	<TDCN 15,%TMSK
38400	ARG 16
38410	JUMPA BAK2
38420	%TMSK:7777
38430	>
38450	ST12:Z17
38500	Z6
38550	ST:CLR
38580	CR
38590	CLR
38600	MOVE 2,STA
38650	ADD 2,2
38700	AOJ 2,
38750	BEG:LDB 1,[POINT 3,PD8(2),26]
38800	CAIN 1,7
38850	JUMPA OPM
38900	CAIN 1,6
38950	JUMPA TTY
39000	ME:MOVE 17,[0,,0]
39050	CAME 1,MRI(17)
39100	AOJA 17,.-1
39150	MOVEM 17,X11
39200	LOC
39250	MOVE 10,[0,,MEM]
39300	MOVE 17,X11
39350	ADD 10,17
39400	JUMPA 1,(10)
39450	BAC:ACUM
39500	ADDI 2,2
39550	JUMPA BEG
39600	OPM:MOVE 17,[0,,0]
39650	MOVE 3,[0,,0]
39700	MOVE 3,PD8(2)
39750	CAME 3,OMI(17)
39800	AOJA 17,.-1
39850	MOVE 10,[0,,OPER]
39900	ADD 10,17
39950	JUMPA 1,(10)
40000	BAK2:ACUM
40050	FD:ADDI 2,2
40100	GH:JUMPA .+1
40150	JUMPA BEG
40200	TTY:MOVE 17,[0,,0]
40300	MOVE 3,PD8(2)
40350	CAME 3,IOT(17)
40400	AOJA 17,.-1
40450	MOVE 10,[0,,TRN]
40500	ADD 10,17
40550	JUMPA 1,(10)
40600	BAC3:ADDI 2,2
40700	JUMPA BEG
40750	MRI:0
40800	1
40850	2
40900	3
40950	4
41000	5
41050	OMI:7010
41100	7004
41150	7200
41200	7100
41250	7402
41300	7450
41350	7420
41400	7510
41450	7000
41500	7040
41550	7020
41600	7001
41650	7002
41700	7012
41750	7006
41800	7500
41850	7440
41900	7430
41950	7410
42000	7404
42050	IOT:6030
42100	6031
42150	6032
42200	6034
42250	6035
42300	6036
42350	6040
42400	6041
42450	6042
42500	6044
42550	6045
42600	6046
42650	DEFINE AND(%A)
42700	<MOVEI 7,13
42750	MOVE  3,[0,,0]
42800	MOVE 5,[0,,0]
42850	MOVE 6,[0,,0]
42900	%A:ILDB 3,[POINT 1,15,23]
42950	ILDB 5,[POINT 1,PD8(4),23]
43000	ADD 3,5
43050	CAIN 3,2
43100	AOJ 6,
43150	LSH 6,1
43200	MOVE 3,[0,,0]
43250	SOJG 7,%A
43300	MOVE 15,6
43350	JUMPA BAC>
43400	DEFINE ISZ(%T)
43450	<MOVE 3,PD8(4)
43500	AOJ 3,
43550	MOVEM 3,PD8(4)
43600	CAIN 3,10000
43650	JUMPA %T
43700	CAIN 3,0
43750	%T:ADDI 2,2
43800	JUMPA BAC>
43900	DEFINE DCA
43950	<MOVE 3,15
44000	MAP(15,12)
44005	MOVEM 15,PD8(4)
44010	MOVE 15,[0,,0]
44015	LDB 15,[POINT 1,3,23]
44020	ROT 15,14
44025	JUMPA BAC>
44050	DEFINE JMS
44100	<ADDI 2,2
44150	MOVE 3,2
44200	MOVE 5,4
44250	IDIVI 3,2
44300	MOVE 4,5
44350	MOVEM 3,PD8(4)
44400	MOVE 2,4
44450	JUMPA BAC>
44500	DEFINE JMP
44550	<MOVE 2,4
44600	JUMPA GH>
44650	DEFINE ROTR
44700	<MAP(15,13)
44750	ARG 16
44800	ROT 15,-1
44820	MOVE 3,[0,,0]
44850	LDB 3,[POINT 1,15,0]
44900	DPB 3,[POINT 1,15,23]
44950	MAP(15,13)
45100	>
45150	DEFINE ROTL
45180	<LSH 15,27
45190	LSH 15,-27
45200	ROT 15,1
45220	MOVE 3,[0,,0]
45250	LDB 3,[POINT 1,15,22]
45300	DPB 3,[POINT 1,15,35]
45350	MAP(15,13)
45500	>
45505	DEFINE RAR
45510	<ROTR
45515	JUMPA BAK2>
45520	DEFINE RAL
45525	<ROTL
45530	JUMPA BAK2>
45550	DEFINE CLA
45600	<MOVE 3,15
45650	MOVE 15,[0,,0]
45700	LDB 15,[POINT 1,3,23]
45730	ROT 15,14
45740	JUMPA BAK2>
45750	DEFINE CLL
45800	<MOVE 3,[0,,0]
45850	DPB 3,[POINT 24,15,23]
45900	JUMPA BAK2>
45950	DEFINE SNA(%B)
46000	<CAIN 15,0
46050	JUMPA %B
46100	CAIN 15,10000
46150	JUMPA %B
46200	ADDI 2,2
46250	%B:JUMPA BAK2>
46300	DEFINE SNL
46350	<MOVE 3,[0,,0]
46400	LDB 3,[POINT 1,15,23]
46450	CAIE 3,0
46500	ADDI 2,2
46550	JUMPA BAK2>
46600	DEFINE TAD
46650	<ADD 15,PD8(4)
46700	JUMPA BAC>
46750	DEFINE HLT(%ENQ)
46800	<CR
46850	OUTSTR [ASCIZ/AC AT END OF EXECUTION: /]
46870	TYPE(15)
46900	%ENQ:CLR
46950	DEBUG
46960	OUTCHR [15]
46970	OUTCHR [12]
46980	OUTSTR [ASCIZ/UPPERCASE L(\) TO EXIT, ANYTHING TO DEBUG AGAIN/]
46990	OUTCHR [15]
46995	OUTCHR [12]
47000	CLRBFI
47050	IN
47100	CAIN 1,134
47150	JUMPA OVER
47200	JUMPA %ENQ>
47250	MEM:JUMPA ANDS
47300	JUMPA TADS
47350	JUMPA ISZS
47400	JUMPA DCAS
47450	JUMPA JMSS
47500	JUMPA JMPS
49150	ANDS:AND
49200	TADS:TAD
49250	ISZS:ISZ
49300	DCAS:DCA
49350	JMSS:JMS
49400	JMPS:JMP
49450	RARS:RAR
49500	RALS:RAL
49550	CLAS:CLA
49650	CLLS:CLL
49700	HLTS:HLT
49750	SNAS:SNA
49800	SNLS:SNL
49850	DEFINE SPA(%R)
49900	<MOVEM 15,X3
50000	ACUM
50050	CAIL 15,4000
50100	JUMPA %R
50150	ADDI 2,2
50200	%R:MOVE 15,X3
50250	JUMPA BAK2>
50500	DEFINE ZERO
50550	<MOVE 3,[0,,0]
50600	DPB 3,[POINT 23,15,22]>
50650	DEFINE CML
50700	<MOVE 5,[0,,0]
50750	MOVE 3,[0,,0]
50800	LDB 3,[POINT 1,15,23]
50850	CAIN 3,0
50900	MOVEI 5,1
50950	DPB 5,[POINT 1,15,23]
51000	JUMPA BAK2>
51050	DEFINE RTR
51100	<ROTR
51150	ROTR
51200	JUMPA BAK2>
51250	DEFINE RTL
51300	<ROTL
51350	ROTL
51400	JUMPA BAK2>
51450	DEFINE IAC
51500	<ZERO
51550	AOJ 15,
51600	JUMPA BAK2>
51650	DEFINE SMA
51700	<ZERO
51750	CAIL 15,4000
51800	ADDI 2,2
51850	JUMPA BAK2>
51900	DEFINE SZA
51920	<ZERO
51950	CAIE 15,0
52000	CAIN 15,10000
52050	ADDI 2,2
52100	JUMPA BAK2>
52150	DEFINE SZL
52200	<MOVE 3,[0,,0]
52250	LDB 3,[POINT 1,15,23]
52300	CAIN 3,0
52350	ADDI 2,2
52400	JUMPA BAK2>
52450	DEFINE SKP
52500	<ADDI 2,2
52550	JUMPA BAK2>
52570	DEFINE CLEAR
52575	<MOVE 3,15
52580	MOVE 15,[0,,0]
52585	LDB 15,[POINT 1,3,23]
52590	ROT 15,14>
52600	DEFINE KCF
52650	<JUMPA BAC3>
52700	DEFINE KSF
52750	<CLR
52800	ADDI 2,2
52850	JUMPA BAC3>
52900	DEFINE KCC
52950	<CLEAR
53000	CLR
53050	JUMPA BAC3>
53100	DEFINE KRS
53130	<CR
53140	OUTSTR [ASCIZ/ENTER CHARACTER: /]
53150	INCHRW 15
53160	ADDI 15,200
53170	CR
53200	CLR
53250	JUMPA BAC3>
53300	DEFINE KRB
53350	<CLEAR
53400	CLR
53450	KRS>
53500	DEFINE TFL
53550	<JUMPA BAC3>
53600	DEFINE TSF
53650	<CLR
53700	ADDI 2,2
53750	JUMPA BAC3>
53800	DEFINE TCF
53850	<CLR
53900	JUMPA BAC3>
53950	DEFINE TPC
54000	<MOVE 5,[0,,0]
54050	MOVE 5,15
54100	MAP(5,7)
54150	OUTCHR 5
54200	JUMPA BAC3
54250	>
54300	DEFINE TLS<TPC>
54350	SPAS:SPA
54400	NOPS:JUMPA BAC
54450	CMAS:CMA
54500	CMLS:CML
54550	IACS:IAC
54600	BSWS:0
54650	RTRS:RTR
54700	RTLS:RTL
54750	SMAS:SMA
54800	SZAS:SZA
54850	SZLS:SZL
54900	SKPS:SKP
54950	OSRS:0
55000	KCFS:KCF
55050	KSFS:KSF
55100	KCCS:KCC
55150	KRSS:KRS
55200	KIES:0
55250	KRBS:KRB
55300	SPFS:0
55350	TSFS:TSF
55400	TCFS:TCF
55450	TPCS:TPC
55500	SPIS:0
55550	TLSS:TLS
55600	OPER:JUMPA RARS
55650	JUMPA RALS
55700	JUMPA CLAS
55750	JUMPA CLLS
55800	JUMPA HLTS
55850	JUMPA SNAS
55900	JUMPA SNLS
55950	JUMPA SPAS
56000	JUMPA NOPS
56050	JUMPA CMAS
56100	JUMPA CMLS
56150	JUMPA IACS
56200	JUMPA BSWS
56250	JUMPA RTRS
56300	JUMPA RTLS
56350	JUMPA SMAS
56400	JUMPA SZAS
56450	JUMPA SZLS
56500	JUMPA SKPS
56550	JUMPA OSRS
56600	TRN:JUMPA KCFS
56650	JUMPA KSFS
56700	JUMPA KCCS
56750	JUMPA KRSS
56800	JUMPA KIES
56850	JUMPA KRBS
56900	JUMPA SPFS
56950	JUMPA TSFS
57000	JUMPA TCFS
57050	JUMPA TPCS
57100	JUMPA SPIS
57150	JUMPA TLSS
57200	OVER:JUMPA CENT
57250	END BEN