Add tests, fixes for tests, reinstate and type-convert stuff marked "bitrot"
[ccom.git] / test / ucb / ctm015124expand.s
1 .globl  _copyright
2 .data
3 _copyright:
4 .byte 100,50,43,51,40,103,157,160,171,162,151,147,150,164
5 .byte 40,50,143,51,40,61,71,70,60,40,122,145,147,145,156
6 .byte 164,163,40,157,146,40,164,150,145,40,125,156,151,166,145
7 .byte 162,163,151,164,171,40,157,146,40,103,141,154,151,146,157
8 .byte 162,156,151,141,56,12,40,101,154,154,40,162,151,147,150
9 .byte 164,163,40,162,145,163,145,162,166,145,144,56,12,0
10 .data
11 _sccsid:
12 .byte 100,50,43,51,145,170,160,141,156,144,56,143,11,65
13 .byte 56,61,40,50,102,145,162,153,145,154,145,171,51,40,65
14 .byte 57,63,61,57,70,65,0
15 .comm   _nstops,2
16 .comm   _tabstops,310
17 .globl  _main
18 .text
19 _main:
20 ~~main:
21 jsr     r5,csv
22 ~argc=4
23 ~argv=6
24 jbr     L3
25 L4:~c=r4
26 ~column=r3
27 ~n=r2
28 dec     4(r5)
29 add     $2,6(r5)
30 L8:L9:tst       4(r5)
31 jmi     L10
32 jeq     L10
33 mov     *6(r5),r0
34 cmpb    $55,(r0)
35 jne     L10
36 mov     *6(r5),(sp)
37 jsr     pc,*$_getstops
38 dec     4(r5)
39 add     $2,6(r5)
40 jbr     L9
41 L10:tst 4(r5)
42 jmi     L11
43 jeq     L11
44 mov     $__iob,(sp)
45 mov     $L12,-(sp)
46 mov     *6(r5),-(sp)
47 jsr     pc,*$_freopen
48 cmp     (sp)+,(sp)+
49 tst     r0
50 jne     L13
51 mov     *6(r5),(sp)
52 jsr     pc,*$_perror
53 mov     $1,(sp)
54 jsr     pc,*$_exit
55 L13:dec 4(r5)
56 add     $2,6(r5)
57 L11:clr r3
58 jbr     L16
59 L17:jbr L18
60 L14:L16:jbr     L17
61 jbr     L15
62 L18:dec __iob
63 jmi     L10000
64 clr     r0
65 bisb    *2+__iob,r0
66 inc     2+__iob
67 jbr     L10001
68 L10000:mov      $__iob,(sp)
69 jsr     pc,*$__filbuf
70 L10001:mov      r0,r4
71 cmp     $-1,r4
72 jeq     L15
73 mov     r4,r0
74 jbr     L20
75 L21:tst _nstops
76 jne     L22
77 L25:dec 14+__iob
78 jmi     L10002
79 movb    $40,*16+__iob
80 inc     16+__iob
81 jbr     L10003
82 L10002:bit      $200,24+__iob
83 jeq     L10004
84 mov     14+__iob,r0
85 neg     r0
86 cmp     22+__iob,r0
87 jle     L10004
88 mov     $40,r0
89 movb    r0,*16+__iob
90 movb    r0,r0
91 cmp     $12,r0
92 jeq     L10005
93 clr     r0
94 bisb    *16+__iob,r0
95 inc     16+__iob
96 jbr     L10006
97 L10005:mov      $14+__iob,(sp)
98 clr     -(sp)
99 bisb    *16+__iob,(sp)
100 jsr     pc,*$__flsbuf
101 tst     (sp)+
102 L10006:jbr      L10007
103 L10004:mov      $14+__iob,(sp)
104 mov     $40,-(sp)
105 jsr     pc,*$__flsbuf
106 tst     (sp)+
107 L10007:L10003:inc       r3
108 L23:bit $7,r3
109 jne     L25
110 L24:jbr L14
111 L22:cmp $1,_nstops
112 jne     L26
113 L29:dec 14+__iob
114 jmi     L10008
115 movb    $40,*16+__iob
116 inc     16+__iob
117 jbr     L10009
118 L10008:bit      $200,24+__iob
119 jeq     L10010
120 mov     14+__iob,r0
121 neg     r0
122 cmp     22+__iob,r0
123 jle     L10010
124 mov     $40,r0
125 movb    r0,*16+__iob
126 movb    r0,r0
127 cmp     $12,r0
128 jeq     L10011
129 clr     r0
130 bisb    *16+__iob,r0
131 inc     16+__iob
132 jbr     L10012
133 L10011:mov      $14+__iob,(sp)
134 clr     -(sp)
135 bisb    *16+__iob,(sp)
136 jsr     pc,*$__flsbuf
137 tst     (sp)+
138 L10012:jbr      L10013
139 L10010:mov      $14+__iob,(sp)
140 mov     $40,-(sp)
141 jsr     pc,*$__flsbuf
142 tst     (sp)+
143 L10013:L10009:inc       r3
144 L27:mov r3,r1
145 dec     r1
146 sxt     r0
147 div     _tabstops,r0
148 mov     r1,r0
149 mov     _tabstops,r1
150 dec     r1
151 cmp     r1,r0
152 jne     L29
153 L28:jbr L14
154 L26:clr r2
155 jbr     L32
156 L33:jbr L34
157 L30:inc r2
158 L32:cmp _nstops,r2
159 jgt     L33
160 jbr     L31
161 L34:mov r2,r0
162 asl     r0
163 cmp     r3,_tabstops(r0)
164 jlt     L31
165 jbr     L30
166 L31:cmp _nstops,r2
167 jne     L35
168 dec     14+__iob
169 jmi     L10014
170 movb    $40,*16+__iob
171 inc     16+__iob
172 jbr     L10015
173 L10014:bit      $200,24+__iob
174 jeq     L10016
175 mov     14+__iob,r0
176 neg     r0
177 cmp     22+__iob,r0
178 jle     L10016
179 mov     $40,r0
180 movb    r0,*16+__iob
181 movb    r0,r0
182 cmp     $12,r0
183 jeq     L10017
184 clr     r0
185 bisb    *16+__iob,r0
186 inc     16+__iob
187 jbr     L10018
188 L10017:mov      $14+__iob,(sp)
189 clr     -(sp)
190 bisb    *16+__iob,(sp)
191 jsr     pc,*$__flsbuf
192 tst     (sp)+
193 L10018:jbr      L10019
194 L10016:mov      $14+__iob,(sp)
195 mov     $40,-(sp)
196 jsr     pc,*$__flsbuf
197 tst     (sp)+
198 L10019:L10015:inc       r3
199 jbr     L14
200 L35:L36:mov     r2,r0
201 asl     r0
202 cmp     r3,_tabstops(r0)
203 jge     L37
204 dec     14+__iob
205 jmi     L10020
206 movb    $40,*16+__iob
207 inc     16+__iob
208 jbr     L10021
209 L10020:bit      $200,24+__iob
210 jeq     L10022
211 mov     14+__iob,r0
212 neg     r0
213 cmp     22+__iob,r0
214 jle     L10022
215 mov     $40,r0
216 movb    r0,*16+__iob
217 movb    r0,r0
218 cmp     $12,r0
219 jeq     L10023
220 clr     r0
221 bisb    *16+__iob,r0
222 inc     16+__iob
223 jbr     L10024
224 L10023:mov      $14+__iob,(sp)
225 clr     -(sp)
226 bisb    *16+__iob,(sp)
227 jsr     pc,*$__flsbuf
228 tst     (sp)+
229 L10024:jbr      L10025
230 L10022:mov      $14+__iob,(sp)
231 mov     $40,-(sp)
232 jsr     pc,*$__flsbuf
233 tst     (sp)+
234 L10025:L10021:inc       r3
235 jbr     L36
236 L37:jbr L14
237 L38:tst r3
238 jeq     L39
239 dec     r3
240 L39:dec 14+__iob
241 jmi     L10026
242 movb    $10,*16+__iob
243 inc     16+__iob
244 jbr     L10027
245 L10026:bit      $200,24+__iob
246 jeq     L10028
247 mov     14+__iob,r0
248 neg     r0
249 cmp     22+__iob,r0
250 jle     L10028
251 mov     $10,r0
252 movb    r0,*16+__iob
253 movb    r0,r0
254 cmp     $12,r0
255 jeq     L10029
256 clr     r0
257 bisb    *16+__iob,r0
258 inc     16+__iob
259 jbr     L10030
260 L10029:mov      $14+__iob,(sp)
261 clr     -(sp)
262 bisb    *16+__iob,(sp)
263 jsr     pc,*$__flsbuf
264 tst     (sp)+
265 L10030:jbr      L10031
266 L10028:mov      $14+__iob,(sp)
267 mov     $10,-(sp)
268 jsr     pc,*$__flsbuf
269 tst     (sp)+
270 L10031:L10027:jbr       L14
271 L40:dec 14+__iob
272 jmi     L10032
273 movb    r4,*16+__iob
274 inc     16+__iob
275 jbr     L10033
276 L10032:bit      $200,24+__iob
277 jeq     L10034
278 mov     14+__iob,r0
279 neg     r0
280 cmp     22+__iob,r0
281 jle     L10034
282 mov     r4,r0
283 movb    r0,*16+__iob
284 movb    r0,r0
285 cmp     $12,r0
286 jeq     L10035
287 clr     r0
288 bisb    *16+__iob,r0
289 inc     16+__iob
290 jbr     L10036
291 L10035:mov      $14+__iob,(sp)
292 clr     -(sp)
293 bisb    *16+__iob,(sp)
294 jsr     pc,*$__flsbuf
295 tst     (sp)+
296 L10036:jbr      L10037
297 L10034:mov      $14+__iob,(sp)
298 mov     r4,-(sp)
299 bic     $-400,(sp)
300 jsr     pc,*$__flsbuf
301 tst     (sp)+
302 L10037:L10033:inc       r3
303 jbr     L14
304 L41:dec 14+__iob
305 jmi     L10038
306 movb    r4,*16+__iob
307 inc     16+__iob
308 jbr     L10039
309 L10038:bit      $200,24+__iob
310 jeq     L10040
311 mov     14+__iob,r0
312 neg     r0
313 cmp     22+__iob,r0
314 jle     L10040
315 mov     r4,r0
316 movb    r0,*16+__iob
317 movb    r0,r0
318 cmp     $12,r0
319 jeq     L10041
320 clr     r0
321 bisb    *16+__iob,r0
322 inc     16+__iob
323 jbr     L10042
324 L10041:mov      $14+__iob,(sp)
325 clr     -(sp)
326 bisb    *16+__iob,(sp)
327 jsr     pc,*$__flsbuf
328 tst     (sp)+
329 L10042:jbr      L10043
330 L10040:mov      $14+__iob,(sp)
331 mov     r4,-(sp)
332 bic     $-400,(sp)
333 jsr     pc,*$__flsbuf
334 tst     (sp)+
335 L10043:L10039:clr       r3
336 jbr     L14
337 jbr     L19
338 L20:sub $10,r0
339 cmp     r0,$2
340 jhi     L40
341 asl     r0
342 jmp     *L10045(r0)
343         .data
344 L10045:L38
345 L21
346 L41
347 .text
348 L19:jbr L14
349 L15:L6:tst      4(r5)
350 jmi     L10046
351 jne     L8
352 L10046:L7:clr   (sp)
353 jsr     pc,*$_exit
354 L5:jmp  cret
355 L3:jbr  L4
356 .globl  _getstops
357 .text
358 _getstops:
359 ~~getstops:
360 jsr     r5,csv
361 mov     4(r5),r4
362 ~cp=r4
363 jbr     L42
364 L43:~i=r3
365 clr     _nstops
366 inc     r4
367 jbr     L47
368 L48:jbr L49
369 L45:L47:jbr     L48
370 jbr     L46
371 L49:clr r3
372 L50:cmpb        $60,(r4)
373 jgt     L51
374 cmpb    $71,(r4)
375 jlt     L51
376 mov     r3,r1
377 mul     $12,r1
378 mov     r1,r0
379 movb    (r4)+,r1
380 add     r1,r0
381 mov     r0,r3
382 add     $-60,r3
383 jbr     L50
384 L51:tst r3
385 jmi     L10047
386 jeq     L10047
387 cmp     $400,r3
388 jge     L52
389 L10047:L53:mov  $L54,(sp)
390 mov     $30+__iob,-(sp)
391 jsr     pc,*$_fprintf
392 tst     (sp)+
393 mov     $1,(sp)
394 jsr     pc,*$_exit
395 L52:tst _nstops
396 jmi     L10048
397 jeq     L10048
398 mov     _nstops,r0
399 asl     r0
400 cmp     r3,-2+_tabstops(r0)
401 jle     L53
402 L10048:mov      _nstops,r0
403 asl     r0
404 inc     _nstops
405 mov     r3,_tabstops(r0)
406 tstb    (r4)
407 jeq     L46
408 cmpb    $54,(r4)+
409 jne     L53
410 jbr     L45
411 L46:L44:jmp     cret
412 L42:jbr L43
413 .globl
414 .data
415 L12:.byte 162,0
416 L54:.byte 102,141,144,40,164,141,142,40,163,164,157,160,40,163
417 .byte 160,145,143,12,0