This repository has been archived by the owner on Dec 24, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 91
/
Copy path23-616F1.txt
282 lines (276 loc) · 15.3 KB
/
23-616F1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
1 .title M9312 11/60-70 Diagnostic/Console ROM
2
3 ; This source code is an exact copy of the DEC M9312 23-616F1 console PROM.
4 ;
5 ; This console/diagnostic PROM is for 11/60-70 CPUs.
6 ;
7 ; Standard devices are 82S137, 74S573 or other compatible bipolar PROMs
8 ; with a 1024x4 TriState 18pin DIP architecture.
9
10 000000 .asect
11 165000 .=165000
12
13 165000 base =.
14
15 165000 010037 000700 START: mov r0,@#700 ;
16 165004 010137 000702 mov r1,@#702 ;
17 165010 010437 000704 mov r4,@#704 ;
18 165014 005037 000706 clr @#706 ;
19
20 165020 .=base+20
21 165020 052737 100000 177776 DIAG: bis #100000,@#177776 ;
22 165026 032737 040000 177776 bit #040000,@#177776 ;
23 165034 001402 beq L1 ;
24 165036 005237 000706 inc @#706 ;
25 165042 005037 177776 L1: clr @#177776 ;
26 165046 000401 br L2 ;
27 165050 000000 halt ;
28
29 165052 005006 L2: clr sp ;
30 165054 100404 bmi L3 ;
31 165056 102403 bvs L3 ;
32 165060 101002 bhi L3 ;
33 165062 002401 blt L3 ;
34 165064 101401 blos L4 ;
35 165066 000000 L3: halt ;
36
37 165070 005306 L4: dec sp ;
38 165072 100003 bpl L5 ;
39 165074 001402 beq L5 ;
40 165076 002001 bge L5 ;
41 165100 003401 ble L6 ;
42 165102 000000 L5: halt ;
43
44 165104 006006 L6: ror sp ;
45 165106 102002 bvc L7 ;
46 165110 103001 bcc L7 ;
47 165112 001001 bne L8 ;
48 165114 000000 L7: halt ;
49
50 165116 012706 125252 L8: mov #125252,sp ;
51 165122 010600 mov sp,r0 ;
52 165124 010001 mov r0,r1 ;
53 165126 010102 mov r1,r2 ;
54 165130 010203 mov r2,r3 ;
55 165132 010304 mov r3,r4 ;
56 165134 010405 mov r4,r5 ;
57 165136 160501 sub r5,r1 ;
58 165140 002401 blt NODIAG ;
59 165142 001401 beq L9 ;
60
61 165144 .=base+144
62 165144 000000 NODIAG: halt ;
63
64 165146 006102 L9: rol r2 ;
65 165150 103001 bcc L10 ;
66 165152 002401 blt L11 ;
67 165154 000000 L10: halt ;
68
69 165156 060203 L11: add r2,r3 ;
70 165160 005203 inc r3 ;
71 165162 005103 com r3 ;
72 165164 060301 add r3,r1 ;
73 165166 103401 bcs L12 ;
74 165170 003401 ble L13 ;
75 165172 000000 L12: halt ;
76
77 165174 006004 L13: ror r4 ;
78 165176 050403 bis r4,r3 ;
79 165200 060503 add r5,r3 ;
80 165202 005203 inc r3 ;
81 165204 103402 bcs L14 ;
82 165206 005301 dec r1 ;
83 165210 002401 blt L15 ;
84 165212 000000 L14: halt ;
85
86 165214 005100 L15: com r0 ;
87 165216 101401 blos L16 ;
88 165220 000000 halt ;
89
90 165222 040001 L16: bic r0,r1 ;
91 165224 060101 add r1,r1 ;
92 165226 003001 bgt L17 ;
93 165230 003401 ble L18 ;
94 165232 000000 L17: halt ;
95
96 165234 000301 L18: swab r1 ;
97 165236 020127 052125 cmp r1,#052125 ;
98 165242 001004 bne L19 ;
99 165244 030405 bit r4,r5 ;
100 165246 003002 bgt L19 ;
101 165250 005105 com r5 ;
102 165252 001001 bne L20 ;
103 165254 000000 L19: halt ;
104
105 165256 112700 177401 L20: movb #177401,r0 ;
106 165262 100001 bpl L21 ;
107 165264 000000 L22: halt ;
108
109 165266 077002 L21: sob r0,L22 ;
110 165270 005001 clr r1 ;
111 165272 005201 L23: inc r1 ;
112 165274 077002 sob r0,L23 ;
113 165276 005700 tst r0 ;
114 165300 001002 bne L24 ;
115 165302 005701 tst r1 ;
116 165304 001401 beq L25 ;
117 165306 000000 L24: halt ;
118
119 165310 012706 000776 L25: mov #776,sp ;
120 165314 004767 165322' jsr pc,L26 ;
121 165320 000000 N2: halt ;
122
123 165322 022716 165320 L26: cmp #N2,(sp) ;
124 165326 001401 beq L27 ;
125 165330 000000 halt ;
126
127 165332 012716 165342 L27: mov #N3,(sp) ;
128 165336 000207 rts pc ;
129 165340 000000 halt ;
130
131 165342 005046 N3: clr -(sp) ;
132 165344 012746 165354 mov #N4,-(sp) ;
133 165350 000002 rti ;
134 165352 000000 halt ;
135
136 165354 000137 165362 N4: jmp @#N5 ;
137 165360 000000 halt ;
138
139 165362 012705 160000 N5: mov #160000,r5 ;
140 165366 005037 000006 clr @#6 ;
141 165372 012737 165400 000004 mov #N6,@#4 ;
142 165400 012706 000776 N6: mov #776,sp ;
143 165404 005745 tst -(r5) ;
144 165406 012737 165714 000114 mov #N12,@#114 ;
145 165414 005037 000116 clr @#116 ;
146 165420 012703 177746 mov #177746,r3 ;
147 165424 012713 000014 mov #14,(r3) ;
148 165430 012702 001000 mov #1000,r2 ;
149 165434 010200 mov r2,r0 ;
150 165436 010010 L28: mov r0,(r0) ;
151 165440 005720 tst (r0)+ ;
152 165442 020005 cmp r0,r5 ;
153 165444 101774 blos L28 ;
154 165446 010200 mov r2,r0 ;
155 165450 011001 L30: mov (r0),r1 ;
156 165452 020001 cmp r0,r1 ;
157 165454 001401 beq L29 ;
158 165456 000000 halt ;
159
160 165460 005120 L29: com (r0)+ ;
161 165462 020005 cmp r0,r5 ;
162 165464 101771 blos L30 ;
163 165466 014001 L32: mov -(r0),r1 ;
164 165470 005101 com r1 ;
165 165472 020001 cmp r0,r1 ;
166 165474 001401 beq L31 ;
167 165476 000000 halt ;
168
169 165500 020002 L31: cmp r0,r2 ;
170 165502 001371 bne L32 ;
171 165504 005016 clr (sp) ;
172 165506 012704 125252 mov #125252,r4 ;
173 165512 012713 000030 mov #30,(r3) ;
174 165516 012700 004000 mov #4000,r0 ;
175 165522 012702 001000 L39: mov #1000,r2 ;
176 165526 005104 L36: com r4 ;
177 165530 010410 mov r4,(r0) ;
178 165532 005110 com (r0) ;
179 165534 005110 com (r0) ;
180 165536 021004 cmp (r0),r4 ;
181 165540 001401 beq L33 ;
182 165542 000000 halt ;
183
184 165544 006037 177752 L33: ror @#177752 ;
185 165550 103402 bcs L34 ;
186 165552 000000 halt ;
187 165554 000461 br L35 ;
188
189 165556 105116 L34: comb (sp) ;
190 165560 001362 bne L36 ;
191 165562 000402 br L37 ;
192
193 165564 .=base+564
194 165564 000167 165000' RESTRT: jmp START ;
195
196 165570 005720 L37: tst (r0)+ ;
197 165572 077223 sob r2,L36 ;
198 165574 012713 000044 mov #44,(r3) ;
199 165600 012700 006000 mov #6000,r0 ;
200 165604 105166 000001 comb 1(sp) ;
201 165610 001344 bne L39 ;
202 165612 012702 001000 mov #1000,r2 ;
203 165616 010200 mov r2,r0 ;
204 165620 010010 L40: mov r0,(r0) ;
205 165622 005720 tst (r0)+ ;
206 165624 020005 cmp r0,r5 ;
207 165626 101774 blos L40 ;
208 165630 012701 000003 mov #3,r1 ;
209 165634 005016 clr (sp) ;
210 165636 005737 000706 tst @#706 ;
211 165642 001020 bne L41 ;
212 165644 012716 000030 mov #30,(sp) ;
213 165650 010200 L45: mov r2,r0 ;
214 165652 005110 L44: com (r0) ;
215 165654 005110 com (r0) ;
216 165656 020010 cmp r0,(r0) ;
217 165660 001401 beq L42 ;
218 165662 000000 halt ;
219
220 165664 005720 L42: tst (r0)+ ;
221 165666 006037 177752 ror @#177752 ;
222 165672 103402 bcs L43 ;
223 165674 000000 halt ;
224 165676 000410 br L35 ;
225
226 165700 020005 L43: cmp r0,r5 ;
227 165702 101763 blos L44 ;
228 165704 011613 L41: mov (sp),(r3) ;
229 165706 005016 clr (sp) ;
230 165710 077121 sob r1,L45 ;
231 165712 000404 br L46 ;
232
233 165714 000000 N12: halt ;
234 165716 000402 br L46 ;
235
236 165720 012713 000014 L35: mov #14,(r3) ;
237 165724 013700 000700 L46: mov @#700,r0 ;
238 165730 013701 000702 mov @#702,r1 ;
239 165734 013704 000704 mov @#704,r4 ;
240 165740 000164 000002 jmp 2(r4) ;
241
242 165744 013704 177570 mov @#177570,r4 ;
243 165750 042704 177000 bic #177000,r4 ;
244 165754 052704 173000 bis #173000,r4 ;
245 165760 113700 177571 movb @#177571,r0 ;
246 165764 006200 asr r0 ;
247 165766 000241 clc ;
248 165770 000114 jmp (r4) ;
249 165772 000000 halt ;
250
251 ; ------------------------------------------------------------
252
253 165774 .=base+774
254 165774 060 102 verson: .ascii "0B" ; version ID
255
256 165776 .=base+776
257 165776 025055 crc16: .word <025055> ; CRC-16 will go here
258
259 .end
259
Symbol table
. =****** L17 =165232 L28 =165436 L4 =165070 L9 =165146
BASE =165000 L18 =165234 L29 =165460 L40 =165620 N12 =165714
CRC16 =165776 L19 =165254 L3 =165066 L41 =165704 N2 =165320
DIAG =165020 L2 =165052 L30 =165450 L42 =165664 N3 =165342
L1 =165042 L20 =165256 L31 =165500 L43 =165700 N4 =165354
L10 =165154 L21 =165266 L32 =165466 L44 =165652 N5 =165362
L11 =165156 L22 =165264 L33 =165544 L45 =165650 N6 =165400
L12 =165172 L23 =165272 L34 =165556 L46 =165724 NODIAG=165144
L13 =165174 L24 =165306 L35 =165720 L5 =165102 RESTRT=165564
L14 =165212 L25 =165310 L36 =165526 L6 =165104 START =165000
L15 =165214 L26 =165322 L37 =165570 L7 =165114 VERSON=165774
L16 =165222 L27 =165332 L39 =165522 L8 =165116
Program sections:
. ABS. 166000 000 (RW,I,GBL,ABS,OVR,NOSAV)
000000 001 (RW,I,LCL,REL,CON,NOSAV)