Trailing-Edge
-
PDP-10 Archives
-
decuslib20-03
-
decus/20-0094/pdp8.mac
There are 3 other files named pdp8.mac in the archive. Click here to see a list.
00100 TITLE PDP8
00200 DEFINE WA
00300 <MOVE 1,[0,,000777]
00400 SOJG 1,.-1>
00500 DEFINE CLR
00600 <CLRBFI>
00700 DEFINE T
00800 <MOVE 2,[0,,0]
00900 >
01000 EXTERNAL START,FINISH,OPEN1,OPEN2,LOK1,ENT1,IN7,OUT7,CLOS1,CLOS2,REL
01100 ENTRY PD8
01200 AM1:DEFINE Z6
01300 <MOVE 1,[0,,0]
01400 MOVE 2,[0,,6]
01500 MOVEM 1,(2)
01600 SOJG 2,.-1
01700 T>
01800 DEFINE Z17
01900 <MOVE 1,[0,,0]
02000 MOVE 2,[0,,17]
02100 MOVEM 1,(2)
02200 SOJ 2,
02300 CAIE 2,6
02400 JUMPA .-3>
02500 DEFINE CR
02600 <OUTCHR [15]
02700 OUTCHR [12]>
02800 DEFINE BL
02900 <OUTCHR [40]
03000 >
03100 DEFINE IN
03200 <INCHRW 1
03300 >
03400 DEFINE OUT
03500 <OUTCHR 1>
03600 AM7:DEFINE BL4
03700 <OUTCHR [40]
03800 OUTCHR [40]
03900 OUTCHR [40]
04000 OUTCHR [40]
04100 >
04200 AM8:DEFINE SPACE
04300 <OUTCHR [40]
04400 >
04500 DEFINE NUMB(A)
04600 <MOVE 12,A
04700 MOVE 11,[0,,0]
04800 ASHC 11,2
04900 ADDI 11,60
05000 OUTCHR 11
05100 MOVE 17,[0,,13]
05200 MOVE 11,[0,,0]
05300 ASHC 11,3
05400 ADDI 11,60
05500 OUTCHR 11
05600 SOJG 17,.-4
05700 OUTCHR [40]
05800 >
05900 AM10:DEFINE NUIN
06000 <MOVE 2,[0,,0]
06100 MOVE 1,[0,,0]
06200 INCHRW 1
06300 SUBI 1,60
06400 IMULI 2,10
06500 ADD 2,1
06600 INCHRW 1
06700 CAIE 1,15
06800 JUMPA .-5
06900 >
07000 A:JUMPA M1+1
07100 H:CR
07200 NUMB(2)
07300 CR
07400 Z17
07500 Z6
07600 IN
07700 V:NUIN
07800 BL
07900 V2:JSA 16,MN
08000 ARG 2
08100 CR
08200 NUMB(2)
08300 Z17
08400 Z6
08500 IN
08600 CR
08700 IN
08800 IN
08900 JSA 16,RUPT
09000 ARG 1
09100 ZT:CR
09200 CLR
09300 NUIN
09400 MOVEM 2,3
09500 CR
09600 CLR
09700 NUIN
09800 JSA 16,LIM
09900 ARG 3
10000 ARG 2
10100 CR
10200 NUMB(3)
10300 CR
10400 JUMPA IN1
10500 MN:0
10600 MOVE 6,@(16)
10700 ASHC 5,27
10800 ASH 6,-27
10900 MOVE 5,[0,,7777]
11000 TDCN 6,5
11100 HJ:AOJ 6,
11200 AOJ 6,
11300 MOVEM 6,@(16)
11400 JRA 16,1(16)
11500 RUPT:0
11600 MOVE 1,@(16)
11700 CAIE 1,41
11800 JRA 16,1(16)
11900 M200:OUTSTR [ASCIZ/!!!!...INTERUPTION...!!!/]
12000 CR
12100 M201:OUTSTR [ASCIZ/INPUT LOW LC TO TRANSLATE/]
12200 CR
12300 NUIN
12400 MOVEM 2,3
12500 CR
12600 M203:OUTSTR [ASCIZ/ UP LC TO TRANS./]
12700 CR
12800 IN
12900 NUIN
13000 JSA 16,TRANS
13100 ARG 3
13200 ARG 2
13300 CR
13400 JRA 16,1(16)
13500 TRANS:0
13600 CR
13700 MOVE 6,@(16)
13800 MOVE 7,@1(16)
13900 MOVE 10,[0,,PD8]
14000 ADD 6,6
14100 ADD 7,7
14200 ADD 6,10
14300 ADD 7,10
14400 A76:MOVE 10,[0,,3]
14500 CAMGE 7,6
14600 JUMPA OUT1
14700 CR
14800 BL4
14900 MOVE 12,@6
15000 NUMB (12)
15100 Y:BL
15200 BL
15300 MOVE 12,(6)
15400 AS12:MOVE 11,[0,,0]
15500 AS1:ASHC 11,10
15600 OUTCHR 11
15700 AS45:MOVE 11,[0,,0]
15800 AS43:ASHC 11,11
15900 OUTCHR 11
16000 SOJG 10,AS45
16100 BL
16200 BL
16300 AOJ 6,
16400 MOVE 12,@6
16500 NUMB(12)
16600 CR
16700 YZ:AOJ 6,
16800 JUMPA A76
16900 OUT1:MOVE 10,[0,,PD8]
17000 JRA 16,2(16)
17100 EXAM:0
17200 MOVE 14,@(16)
17300 KT:JSA 16,TRANS
17400 ARG 14
17500 ARG 14
17600 MOVE 14,@1(16)
17700 JSA 16,TRANS
17800 ARG 14
17900 ARG 14
18000 JRA 16,2(16)
18100
18200
18300
18400 LIM:0
18500 MOVE 17,@(16)
18600 SX:CAIGE 17,200
18700 JUMPA L
18800 SUBI 17,200
18900 CAIL 17,200
19000 JUMPA .-2
19100 AX:MOVEM 17,15
19200 MOVE 17,@(16)
19300 SUB 17,15
19400 L1:MOVE 15,@1(16)
19500 SUB 15,17
19600 CAIGE 15,0
19700 JUMPA PZ
19800 CAIL 15,200
19900 JUMPA ER
20000 MOVE 17,[0,,1]
20100 OKA:MOVEM 15,@(16)
20200 MOVEM 17,@1(16)
20300 J0:JRA 16,2(16)
20400 L:MOVE 17,[0,,0]
20500 JUMPA L1
20600 PZ:MOVE 17,@1(16)
20700 MOVEM 17,@(16)
20800 MOVE 17,[0,,0]
20900 MOVEM 17,@1(16)
21000 JRA 16,2(16)
21100 ER:CR
21200 OUTSTR [ASCIZ/OUT OF PAGE ADRESS/]
21300 CR
21400 MOVE 17,@(16)
21500 MOVE 15,@1(16)
21600 KU:JSA 16,EXAM
21700 ARG 17
21800 ARG 15
21900 MOVE 17,[0,,0]
22000 MOVEM 17,@(16)
22100 MOVEM 17,@1(16)
22200 JRA 16,2(16)
22300 COM:101116104; AND
22400 COMA:0000
22500 C01:124101104; TAD
22600 C01A:1000
22700 C02:111123132; ISZ
22800 C02A:2000
22900 C03:104103101; DCA
23000 C03A:3000
23100 C04:112115123; JMS
23200 C04A:4000
23300 C05:112115120; JMP
23400 C05A:5000
23500 C06:111117124; IOT
23600 C06A:6000
23700 C07:117120122; OPR
23800 C07A:7000
23900 C08:116117120; NOP
24000 C08A:7000
24100 C09:103114101; CLA
24200 C09A:7200
24300 C10:103114114; CLL
24400 C10A:7100
24500 C11:103115101; CMA
24600 C11A:7040
24700 C12:102115114; CML
24800 C12A:7020
24900 C13:122101122; RAR
25000 C13A:7010
25100 C14:122101114; RAL
25200 C14A:7004
25300 C15:122124122; RTR
25400 C15A:7012
25500 C16:122124114; RTL
25600 C16A:7006
25700 C17:111101103; IAC
25800 C17A:7001
25900 C18:102123127; BSW
26000 C18A:7002
26100 C19:123115101; SMA
26200 C19A:7500
26300 C20:123132101; SZA
26400 C20A:7440
26500 C21:123120101; SPA
26600 C21A:7510
26700 C22:123116101; SNA
26800 C22A:7450
26900 C23:123116114; SNL
27000 C23A:7420
27100 C24:123132114; SZL
27200 C24A:7430
27300 C25:123113120; SKP
27400 C25A:7410
27500 C26:117123122; OSR
27600 C26A:7404
27700 C27:110114124; HLT
27800 C27A:7402
27900 C28:103114101; CLA
28000 C28A:7600
28100 C29:113103106; KCF
28200 C29A:6030
28300 C30:113123106; KSF
28400 C30A:6031
28500 C31:113103103; KCC
28600 C31A:6032
28700 C32:113122123; KRS
28800 C32A:6034
28900 C33:113111105; KIE
29000 C33A:6035
29100 C34:113122102; KRB
29200 C34A:6036
29300 C35:123120106; SPF
29400 C35A:6040
29500 C36:124123106; TSF
29600 C36A:6041
29700 C37:124103106; TCF
29800 C37A:6042
29900 C38:124120103; TPC
30000 C38A:6044
30100 C39:123120111; SPI
30200 C39A:6045
30300 C40:124114123; TLS
30400 C40A:6046
30500 C41:123113117116; SKON
30600 C41A:6000
30700 C42:111117116; ION
30800 C42A:6001
30900 C43:111117106; IOF
31000 C43A:6002
31100 C44:123122121; SRQ
31200 C44A:6003
31300 C45:107124106; GTF
31400 C45A:6004
31500 C46:122124106; RTF
31600 C46A:6005
31700 C47:123107124; SGT
31800 C47A:6006
31900 C48:103101106; CAF
32000 C48A:6007
32100 C49:116117120; NOP
32200 C49A:7000
32300 PD8:101102103104
32400 PD81:1000
32500 PD82:103104105106
32600 PD83:3000
32700 PD84:102102102102
32800 PD85:3400
32900 PD86:101101101061
33000 PD87:2000
33100 PD88:103103103062
33200 PD89:1010
33300 PD90:101060060060
33400 PD91:0000
33500 PD92:BLOCK 11000
33600 LMAX:0
33700 LAB:BLOCK 502
33800 LC:0
33900 ALC:0
34000 PD:0
34100 PD1:0
34200 CELL:10000
34300 ZER:0
34400 X1:0
34500 X2:0
34600 X3:0
34700 X4:0
34800 X5:0
34900 X6:0
35000 X7:0
35100 X8:0
35200 X9:0
35300 X10:0
35400 X11:0
35500 X12:0
35600 X13:0
35700 X22:0
35800 STA:0
35900 F500:5000
36000 CR
36100 CLR
36200 IN1:MOVE 10,[0,,LAB]
36300 MOVEM 10,X9
36400 MOVE 10,[0,,LC]
36500 MOVEM 10,ALC
36600 Z17
36700 Z6
36800 M0:OUTSTR [ASCIZ/INITIALIZATION WILL BE DONE NOW/]
36900 CR
37000 CLR
37100 A1:Z6
37200 AH:MOVEM 1,PD8(2)
37300 AOJ 2,
37400 MOVEM 3,PD8(2)
37500 AOJ 2,
37600 CAMGE 2,F500
37700 AOJA 1,AH
37800 MOVE 10,[0,,LAB]
37900 MOVE 2,LMAX
38000 ADD 2,2
38100 ADD 10,2
38200 MOVEM 10,X9
38300 M1:OUTSTR [ASCIZ/PD8 TABLE NUMBERED/]
38400 CR
38500 M2:OUTSTR [ASCIZ/INPUT PROGRAM /]
38600 CR
38700 CLR
38800 A31:Z6
38900 A3:BL
39000 CLR
39100 IN
39200 CAIE 1,52
39300 JUMPA A3
39400 BL
39500 CLR
39600 A4:NUIN
39700 MOVEM 2,LC
39800 MOVEM 2,X1
39900 CR
40000 OUTSTR [ASCIZ/LC VALUE (*) KNOWN IS IN LC/]
40100 CR
40200 CLR
40300 MOVE 2,LC
40400 ADD 2,2
40500 CAIL 2,CELL
40600 JUMPA INVAL
40700 Z6
40800 JUMPA A60
40900 INVAL:CR
41000 MZ5:OUTSTR [ASCIZ/TOO HIGH !!!!!/]
41100 CR
41200 JUMPA A31
41300 A60:Z6
41400 A61:CR
41500 CLR
41600 Z6
41700 A6:IN
41800 MOVEM 1,X22
41900 JSA 16,RUPT
42000 ARG 1
42100 OUTCHR 5
42200 CLR
42300 MOVE 1,X22
42400 CAIN 1,41
42500 JUMPA A61
42600 CAIN 1,100
42700 JUMPA COMP
42800 CAIN 1,52
42900 JUMPA A4
43000 TAB1:CAIN 1,11
43100 JUMPA LBEN
43200 LABL:MOVE 10,X9
43300 MOVE 13,[0,,2]
43400 A7:ASH 2,11 ;CHECK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
43500 ADD 2,1
43600 SOJE 13,A8
43700 MOVE 1,[0,,0]
43800 IN
43900 JUMPA A7
44000 A8:MOVEM 2,(10)
44100 MOVEM 2,X2
44200 AOJ 10,
44300 MOVE 2,LC
44400 MOVEM 2,(10)
44500 AOJ 10,
44600 MOVEM 10,X9
44700 AOS ,LMAX
44800 JUMPA GAS
44900 LBEN:BL4
45000 GAS:BL4
45100 CLR
45200 Z17
45300 Z6
45400 A98:BL
45500 CLR
45600 A9:INCHRW 1
45700 CAIN 1,72
45800 JUMPA COMN
45900 CAIN 1,54
46000 JUMPA NUMER
46100 JUMPA A98
46200 NUMER:CLR
46300 IN
46400 CAIN 1,55
46500 JUMPA MINUS
46600 Z6
46700 PLUS:CLR
46800 IN
46900 CAIN 1,15
47000 JUMPA PUT1
47100 CAIGE 1,60
47200 JUMPA PLUS
47300 SUBI 1,60
47400 IMULI 2,10
47500 ADD 2,1
47600 JUMPA PLUS
47700 PUT1:MOVEM 2,X4
47800 Z6
47900 JUMPA A10
48000 MINUS:MOVE 17,[0,,6]
48100 M8:OUTSTR [ASCIZ/(MINUS)/]
48200 CLR
48300 Z6
48400 JUMPA PLUS
48500 A10:CAIE 17,6
48600 JUMPA PUT
48700 MOVE 17,[0,,0]
48800 MOVE 6,X4
48900 JSA 16,MN
49000 ARG 6
49100 MOVEM 6,X4
49200 PUT:BL
49300 CLR
49400 CLR
49500 Z17
49600 Z6
49700 MOVE 1,[0,,PD8]
49800 MOVE 2,LC
49900 ADD 2,2
50000 AOJ 2,
50100 ADD 2,1
50200 MOVE 3,X4
50300 MOVEM 3,(2)
50400 Z17
50500 Z6
50600 BL
50700 CLR
50800 A11:IN
50900 CAIN 1,100
51000 JUMPA COMP
51100 CAIE 1,15
51200 JUMPA OPR
51300 BL
51400 CLR
51500 LC1:MOVE 2,LC
51600 AOJ 2,
51700 MOVEM 2,LC
51800 MOVEM 2,X1
51900 BL4
52000
52100 CR
52200 CLR
52300 Z17
52400 Z6
52500 JUMPA A6
52600 COMN:BL
52700 CLR
52800 Z17
52900 Z6
53000 MOVE 3,[0,,3]
53100 A20:IN
53200 ASH 2,11
53300 ADD 2,1
53400 SOJG 3,A20
53500 MOVE 4,[0,,COM]
53600 MOVE 3,[0,,60]
53700 CN:CAMN 2,(4)
53800 JUMPA FIND
53900 AOJ 4,
54000 AOJ 4,
54100 SOJG 3,CN
54200 NOFND:BL
54300 MNOF:OUTSTR [ASCIZ/NO SUCH COMMAND,TRY AGAIN/]
54400 CLR
54500 JUMPA COMN
54600 FIND:AOJ 4,
54700 MOVE 1,(4)
54800 MOVEM 1,X4
54900 Z17
55000 Z6
55100 JUMPA PUT
55200 COMP:CR
55300 M50:OUTSTR [ASCIZ/COMPILATION STARTS/]
55400 CR
55500 CLR
55600 Z17
55700 Z6
55800 MOVEM 1,X7
55900 MOVE 13,[0,,PD8]
56000 MOVE 10,X9
56100 MOVE 4,[0,,LAB]
56200 MOVE 1,[0,,PD8]
56300 K9:MOVE 3,(1)
56400 ASH 3,-13
56500 JUMPG 3,POD
56600 AJ1:EXCH 11,X7
56700 AOJ 11,
56800 EXCH 11,X7
56900 AJ:AOJ 1,
57000 AOJ 1,
57100 MOVE 3,[0,,0]
57200 CAIGE 1,4777
57300 JUMPA K9
57400 JUMPA ENCO
57500 POD:MOVE 4,[0,,LAB]
57600 POD1:MOVE 3,(1)
57700 CAMN 3,(4)
57800 JUMPA SET
57900 AOJ 4,
58000 AOJ 4,
58100 CAML 4,X9
58200 JUMPA NOLAB
58300 JUMPA POD1
58400 SET:AOJ 4,
58500 MOVE 5,(4)
58600 MOVE 13,X7
58700 JSA 16,LIM
58800 ARG 13
58900 ARG 5
59000 ASH 5,7
59100 ADD 5,13
59200 AOJ 1,
59300 ADD 5,(1)
59400 MOVEM 5,(1)
59500 SOJ 1,
59600 MOVE 13,X7
59700 MOVEM 13,(1)
59800 JUMPA AJ1
59900 NOLAB:CR
60000 OUTSTR [ASCIZ/LABEL NOT FOUND/]
60100 CR
60200 CLR
60300 MOVE 15,X7
60400 JSA 16,TRANS
60500 ARG 15
60600 ARG 15
60700 CR
60800 JUMPA AJ1
60900 ENCO:CLR
61000 Z17
61100 Z6
61200 ENCO1:CR
61300 OUTSTR [ASCIZ/!!! TO INTERRUPT, ANYTHING TO CONTINUE/]
61400 CLR
61500 IN
61600 JSA 16,RUPT
61700 ARG 1
61800 JUMPA CENT
61900 EX:OUTSTR [ASCIZ/START EXEC. AT LABEL:/]
62000 BL
62100 Z17
62200 Z6
62300 CLR
62400 EX1:MOVE 3,[0,,2]
62500 KOP:IN
62600 ASH 2,11
62700 ADD 2,1
62800 SOJG 3,KOP
62900 MOVEM 2,X11
63000 MOVE 1,[0,,LAB]
63100 EX12:CAMN 2,(1)
63200 JUMPA STR
63300 AOJ 1,
63400 AOJ 1,
63500 CAMGE 1,X9
63600 JUMPA EX12
63700 OUTSTR [ASCIZ/ NO SUCH LABEL /]
63800 JUMPA CENT
63900 STR:AOJ 1,
64000 MOVE 2,(1)
64100 MOVEM 2,STA
64200 MOVEM 2,X11
64300 JUMPA ST12
64400 OPR:CLR
64500 MOVEM 1,2
64600 CLR
64700 CAIN 2,111
64800 JUMPA I1
64900 OPR1:MOVE 3,[0,,1]
65000 Q97:ASH 2,11
65100 IN
65200 ADD 2,1
65300 SOJG 3,Q97
65400 MOVEM 2,X5
65500 MOVE 1,[0,,PD8]
65600 MOVE 3,LC
65700 ADD 3,3
65800 ADD 1,3
65900 MOVE 2,X5
66000 MOVEM 2,(1)
66100 BL
66200 CLR
66300 JUMPA LC1
66400 I1:BL
66500 MOVE 17,[0,,400]
66600 MOVE 1,[0,,PD8]
66700 MOVE 2,LC
66800 ADD 2,2
66900 AOJ 2,
67000 ADD 2,1
67100 MOVE 3,(2)
67200 ADD 3,17
67300 MOVEM 3,(2)
67400 CLR
67500 Z17
67600 Z6
67700 IN
67800 MOVEM 1,2
67900 JUMPA OPR1
68000 DEFINE MAP(AC,W)
68100 <MOVE 12,[0,,0]
68200 LDB 12,[POINT W,AC,35]
68300 MOVE AC,12>
68400 DEFINE LOC(%AK,%ZP,%YU)
68500 <MOVE 3,PD8(2)
68600 MOVE 6,[0,,0]
68700 MOVE 5,[0,,0]
68800 LDB 5,[POINT 7,3,35]
68900 LDB 6,[POINT 1,3,28]
69000 SOJL 6,%ZP
69100 MOVE 10,STA
69200 CAIGE 10,200
69300 JUMPA %AK
69400 SUBI 10,200
69500 JUMPA .-3
69600 %AK:MOVE 11,STA
69700 SUB 11,10
69800 ADD 5,11
69900 %ZP:IMULI 5,2
70000 MOVE 4,5
70100 SETZ 6
70200 LDB 6,[POINT 1,PD8(2),27]
70300 SOJL 6,%YU
70400 AOJ 5,
70500 MOVE 4,PD8(5)
70600 IMULI 4,2
70700 %YU:AOJ 4,>
70800 DEFINE DEBUG
70900 <
71000 MOVEM 2,X1
71100 MOVEM 4,X2
71200 MOVEM 15,X3
71300 OUTSTR [ASCIZ/! TO DEBUG ANYTHING TO CONTINUE/]
71400 CLR
71500 IN
71600 JSA 16,RUPT
71700 ARG 1
71800 CLR
71900 MOVE 2,X1
72000 MOVE 4,X2
72100 MOVE 15,X3
72200 OUTSTR [ASCIZ/END OF DEBUG/]
72300 >
72400 DEFINE ACUM
72500 <LSH 15,27
72600 LSH 15,-27
72700 >
72800 DEFINE TYPE(A)
72900 <CLR
73000 NUMB(A)
73100 CR>
73200 CENTO:CLR
73300 CENT:OUTSTR[ASCIZ/CENT/]
73400 CR
73500 CLR
73600 IN
73700 MOVEM 1,0
73800 JSA 16,RUPT
73900 ARG 1
74000 MOVE 1,0
74100 CAIN 1,64
74200 JUMPA IN1
74300 CAIN 1,65
74400 JUMPA M2
74500 CAIN 1,61
74600 JSA 16,START
74700 CAIN 1,62
74800 JSA 16,FINISH
74900 CAIN 1,63
75000 JUMPA RD
75100 CAIN 1,66
75200 JUMPA RITE
75300 CAIN 1,77
75400 JUMPA RELI
75500 CAIN 1,102
75600 JUMPA COMP
75700 CAIN 1,103
75800 JUMPA EX
75900 CAIN 1,104
76000 JUMPA EX
76100 JUMPA CENT
76200 RD:JSA 16,OPEN1
76300 JSA 16,LOK1
76400 JSA 16,IN7
76500 JSA 16,CLOS1
76600 JUMPA CENT
76700 RITE:JSA 16,OPEN2
76800 JSA 16,ENT1
76900 JSA 16,OUT7
77000 JSA 16,CLOS2
77100 JUMPA CENT
77200 RELI:JSA 16,REL
77300 JUMPA CENT
77400 BEN:OUTSTR [ASCIZ/TYPE 1,2,3,4,5,6,7,A,B,C,D/]
77500 CR
77600 OUTSTR [ASCIZ/B: COMPILE, C OR D: EXECUTE, /]
77700 OUTSTR [ASCIZ/3: COPY FROM DISK, 6: WRITE ON DISK/]
77800 CR
77900 OUTSTR [ASCIZ/4: TO START WRITING PROGRAM WITH * (DESTROYS OTHER PROGRAMS ON FILE)/]
78000 CR
78100 OUTSTR [ASCIZ/5: START PROGRAM INPUT (PRESERVES OTHER PROGRAMS ON FILE/]
78200 CR
78300 OUTSTR [ASCIZ/UPPER CASE 1(!): INTERRUPT FACILITY TO EXAMINE COMPILATION ANYWHERE/]
78400 CR
78500 JUMPA CENT
78600 DEFINE CMA(%TMSK)
78700 <TDCN 15,%TMSK
78800 ARG 16
78900 JUMPA BAK2
79000 %TMSK:7777
79100 >
79200 ST12:Z17
79300 Z6
79400 ST:CLR
79500 CR
79600 CLR
79700 MOVE 2,STA
79800 ADD 2,2
79900 AOJ 2,
80000 BEG:LDB 1,[POINT 3,PD8(2),26]
80100 CAIN 1,7
80200 JUMPA OPM
80300 CAIN 1,6
80400 JUMPA TTY
80500 ME:MOVE 17,[0,,0]
80600 CAME 1,MRI(17)
80700 AOJA 17,.-1
80800 MOVEM 17,X11
80900 LOC
81000 MOVE 10,[0,,MEM]
81100 MOVE 17,X11
81200 ADD 10,17
81300 JUMPA 1,(10)
81400 BAC:ACUM
81500 ADDI 2,2
81600 JUMPA BEG
81700 OPM:MOVE 17,[0,,0]
81800 MOVE 3,[0,,0]
81900 MOVE 3,PD8(2)
82000 CAME 3,OMI(17)
82100 AOJA 17,.-1
82200 MOVE 10,[0,,OPER]
82300 ADD 10,17
82400 JUMPA 1,(10)
82500 BAK2:ACUM
82600 FD:ADDI 2,2
82700 GH:JUMPA .+1
82800 JUMPA BEG
82900 TTY:MOVE 17,[0,,0]
83000 MOVE 3,PD8(2)
83100 CAME 3,IOT(17)
83200 AOJA 17,.-1
83300 MOVE 10,[0,,TRN]
83400 ADD 10,17
83500 JUMPA 1,(10)
83600 BAC3:ADDI 2,2
83700 JUMPA BEG
83800 MRI:0
83900 1
84000 2
84100 3
84200 4
84300 5
84400 OMI:7010
84500 7004
84600 7200
84700 7100
84800 7402
84900 7450
85000 7420
85100 7510
85200 7000
85300 7040
85400 7020
85500 7001
85600 7002
85700 7012
85800 7006
85900 7500
86000 7440
86100 7430
86200 7410
86300 7404
86400 IOT:6030
86500 6031
86600 6032
86700 6034
86800 6035
86900 6036
87000 6040
87100 6041
87200 6042
87300 6044
87400 6045
87500 6046
87600 DEFINE AND(%A)
87700 <MOVEI 7,13
87800 MOVE 3,[0,,0]
87900 MOVE 5,[0,,0]
88000 MOVE 6,[0,,0]
88100 %A:ILDB 3,[POINT 1,15,23]
88200 ILDB 5,[POINT 1,PD8(4),23]
88300 ADD 3,5
88400 CAIN 3,2
88500 AOJ 6,
88600 LSH 6,1
88700 MOVE 3,[0,,0]
88800 SOJG 7,%A
88900 MOVE 15,6
89000 JUMPA BAC>
89100 DEFINE ISZ(%T)
89200 <MOVE 3,PD8(4)
89300 AOJ 3,
89400 MOVEM 3,PD8(4)
89500 CAIN 3,10000
89600 JUMPA %T
89700 CAIN 3,0
89800 %T:ADDI 2,2
89900 JUMPA BAC>
90000 DEFINE DCA
90100 <MOVE 3,15
90200 MAP(15,12)
90300 MOVEM 15,PD8(4)
90400 MOVE 15,[0,,0]
90500 LDB 15,[POINT 1,3,23]
90600 ROT 15,14
90700 JUMPA BAC>
90800 DEFINE JMS
90900 <ADDI 2,2
91000 MOVE 3,2
91100 MOVE 5,4
91200 IDIVI 3,2
91300 MOVE 4,5
91400 MOVEM 3,PD8(4)
91500 MOVE 2,4
91600 JUMPA BAC>
91700 DEFINE JMP
91800 <MOVE 2,4
91900 JUMPA GH>
92000 DEFINE ROTR
92100 <MAP(15,13)
92200 ARG 16
92300 ROT 15,-1
92400 MOVE 3,[0,,0]
92500 LDB 3,[POINT 1,15,0]
92600 DPB 3,[POINT 1,15,23]
92700 MAP(15,13)
92800 >
92900 DEFINE ROTL
93000 <LSH 15,27
93100 LSH 15,-27
93200 ROT 15,1
93300 MOVE 3,[0,,0]
93400 LDB 3,[POINT 1,15,22]
93500 DPB 3,[POINT 1,15,35]
93600 MAP(15,13)
93700 >
93800 DEFINE RAR
93900 <ROTR
94000 JUMPA BAK2>
94100 DEFINE RAL
94200 <ROTL
94300 JUMPA BAK2>
94400 DEFINE CLA
94500 <MOVE 3,15
94600 MOVE 15,[0,,0]
94700 LDB 15,[POINT 1,3,23]
94800 ROT 15,14
94900 JUMPA BAK2>
95000 DEFINE CLL
95100 <MOVE 3,[0,,0]
95200 DPB 3,[POINT 24,15,23]
95300 JUMPA BAK2>
95400 DEFINE SNA(%B)
95500 <CAIN 15,0
95600 JUMPA %B
95700 CAIN 15,10000
95800 JUMPA %B
95900 ADDI 2,2
96000 %B:JUMPA BAK2>
96100 DEFINE SNL
96200 <MOVE 3,[0,,0]
96300 LDB 3,[POINT 1,15,23]
96400 CAIE 3,0
96500 ADDI 2,2
96600 JUMPA BAK2>
96700 DEFINE TAD
96800 <ADD 15,PD8(4)
96900 JUMPA BAC>
97000 DEFINE HLT(%ENQ)
97100 <CR
97200 OUTSTR [ASCIZ/AC AT END OF EXECUTION: /]
97300 TYPE(15)
97400 %ENQ:CLR
97500 DEBUG
97600 OUTCHR [15]
97700 OUTCHR [12]
97800 OUTSTR [ASCIZ/UPPERCASE L(\) TO EXIT, ANYTHING TO DEBUG AGAIN/]
97900 OUTCHR [15]
98000 OUTCHR [12]
98100 CLRBFI
98200 IN
98300 CAIN 1,134
98400 JUMPA OVER
98500 JUMPA %ENQ>
98600 MEM:JUMPA ANDS
98700 JUMPA TADS
98800 JUMPA ISZS
98900 JUMPA DCAS
99000 JUMPA JMSS
99100 JUMPA JMPS
99200 ANDS:AND
99300 TADS:TAD
99400 ISZS:ISZ
99500 DCAS:DCA
99600 JMSS:JMS
99700 JMPS:JMP
99800 RARS:RAR
99900 RALS:RAL