Add tests, fixes for tests, reinstate and type-convert stuff marked "bitrot"
[ccom.git] / test / usr.bin / ctm020508penril.s
1 .data
2 _sccsid:
3 .byte 100,50,43,51,160,145,156,162,151,154,56,143,11,65
4 .byte 56,61,40,50,102,145,162,153,145,154,145,171,51,40,64
5 .byte 57,63,60,57,70,65,0
6 .comm   _DV,2
7 .comm   _EL,2
8 .comm   _CM,2
9 .comm   _IE,2
10 .comm   _OE,2
11 .comm   _CU,2
12 .comm   _AT,2
13 .comm   _PN,2
14 .comm   _DI,2
15 .comm   _PA,2
16 .comm   _PH,2
17 .comm   _RM,2
18 .comm   _HO,2
19 .comm   _BR,2
20 .comm   _FS,2
21 .comm   _DU,2
22 .comm   _HW,2
23 .comm   _ES,2
24 .comm   _EX,2
25 .comm   _FO,2
26 .comm   _RC,2
27 .comm   _RE,2
28 .comm   _PR,2
29 .comm   _DL,2
30 .comm   _CL,2
31 .comm   _ET,2
32 .comm   _HD,2
33 .comm   _arg,6
34 .comm   _defarg,6
35 .comm   _tchars,6
36 .comm   _defchars,6
37 .comm   _ltchars,6
38 .comm   _deflchars,6
39 .comm   _fscript,2
40 .comm   _fildes,4
41 .comm   _repdes,4
42 .comm   _FD,2
43 .comm   _AC,2
44 .comm   _vflag,2
45 .comm   _sfd,2
46 .comm   _pid,2
47 .comm   _uid,2
48 .comm   _euid,2
49 .comm   _gid,2
50 .comm   _egid,2
51 .comm   _stop,2
52 .comm   _quit,2
53 .comm   _intflag,2
54 .comm   _stoprompt,2
55 .comm   _timedout,2
56 .comm   _cumode,2
57 .comm   _fname,120
58 .comm   _copyname,120
59 .comm   _ccc,2
60 .comm   _ch,2
61 .comm   _uucplock,2
62 .comm   _odisc,2
63 .data
64 _timeout:
65 0
66 .globl  
67 .bss
68 _buftimeout:
69 .=.+24
70 .globl  _busyloop
71 .text
72 _busyloop:
73 ~~busyloop:
74 jsr     r5,csv
75 ~n=4
76 jbr     L2
77 L3:mov  4(r5),-12(r5)
78 sxt     -14(r5)
79 ~N=177764
80 L5:sub  $1,-12(r5)
81 sbc     -14(r5)
82 tst     -14(r5)
83 jlt     L6
84 jgt     L10000
85 tst     -12(r5)
86 jeq     L6
87 L10000:jbr      L5
88 L6:L4:jmp       cret
89 L2:sub  $4,sp
90 jbr     L3
91 .globl  _pen_dialer
92 .text
93 _pen_dialer:
94 ~~pen_dialer:
95 jsr     r5,csv
96 mov     4(r5),r4
97 ~num=r4
98 ~acu=6
99 jbr     L7
100 L8:~cp=r3
101 clr     r2
102 ~connected=r2
103 ~msg=177766
104 ~line=177646
105 mov     _FD,(sp)
106 jsr     pc,*$_pensync
107 tst     r0
108 jne     L10
109 mov     $L11,(sp)
110 jsr     pc,*$_printf
111 clr     r0
112 jbr     L9
113 L10:tst 246+_vtable
114 jeq     L12
115 mov     $L13,(sp)
116 jsr     pc,*$_printf
117 L12:mov $14+__iob,(sp)
118 jsr     pc,*$_fflush
119 clr     (sp)
120 mov     $72002,-(sp)
121 mov     $20000,-(sp)
122 mov     _FD,-(sp)
123 jsr     pc,*$_ioctl
124 add     $6,sp
125 mov     $L14,(sp)
126 jsr     pc,*$_echo
127 mov     r4,r3
128 jbr     L17
129 L18:jbr L19
130 L15:inc r3
131 L17:tstb        (r3)
132 jne     L18
133 jbr     L16
134 L19:mov $103240,-(sp)
135 mov     $1,-(sp)
136 jsr     pc,_busyloop
137 cmp     (sp)+,(sp)+
138 mov     $1,(sp)
139 mov     r3,-(sp)
140 mov     _FD,-(sp)
141 jsr     pc,*$_write
142 cmp     (sp)+,(sp)+
143 jbr     L15
144 L16:mov $103240,-(sp)
145 mov     $1,-(sp)
146 jsr     pc,_busyloop
147 cmp     (sp)+,(sp)+
148 mov     $1,(sp)
149 mov     $L20,-(sp)
150 mov     _FD,-(sp)
151 jsr     pc,*$_write
152 cmp     (sp)+,(sp)+
153 mov     r5,(sp)
154 add     $-132,(sp)
155 mov     $12,-(sp)
156 jsr     pc,*$_gobble
157 tst     (sp)+
158 mov     r5,(sp)
159 add     $-132,(sp)
160 mov     $12,-(sp)
161 jsr     pc,*$_gobble
162 tst     (sp)+
163 tst     r0
164 jeq     L21
165 mov     r5,(sp)
166 add     $-132,(sp)
167 mov     $117,-(sp)
168 jsr     pc,*$_gobble
169 tst     (sp)+
170 tst     r0
171 jeq     L10002
172 mov     r5,(sp)
173 add     $-132,(sp)
174 mov     $113,-(sp)
175 jsr     pc,*$_gobble
176 tst     (sp)+
177 tst     r0
178 jne     L10001
179 L10002:clr      r0
180 jbr     L10003
181 L10001:mov      $1,r0
182 L10003:mov      r0,r2
183 L21:mov $72020,-(sp)
184 mov     $100002,-(sp)
185 mov     _FD,-(sp)
186 jsr     pc,_ioctl
187 add     $6,sp
188 tst     _timeout
189 jeq     L22
190 jsr     pc,_pen_disconnect
191 L22:tst r2
192 jne     L10004
193 tst     _timeout
194 jne     L10004
195 tst     246+_vtable
196 jne     L23
197 L10004:mov      r2,r0
198 jbr     L9
199 L23:mov $15,(sp)
200 mov     r5,-(sp)
201 add     $-132,(sp)
202 jsr     pc,*$_index
203 tst     (sp)+
204 mov     r0,r3
205 tst     r3
206 jeq     L24
207 clrb    (r3)
208 L24:mov r5,r3
209 add     $-132,r3
210 jbr     L27
211 L28:jbr L29
212 L25:inc r3
213 L27:mov $40,(sp)
214 mov     r3,-(sp)
215 jsr     pc,*$_index
216 tst     (sp)+
217 mov     r0,r3
218 jne     L28
219 jbr     L26
220 L29:cmpb        $40,1(r3)
221 jeq     L26
222 jbr     L25
223 L26:tst r3
224 jeq     L30
225 L31:cmpb        $40,(r3)
226 jne     L32
227 inc     r3
228 jbr     L31
229 L32:mov r3,-12(r5)
230 L33:tstb        (r3)
231 jeq     L34
232 movb    (r3),r0
233 bitb    $1,1+__ctype_(r0)
234 jeq     L35
235 movb    (r3),r0
236 add     $40,r0
237 movb    r0,(r3)
238 L35:inc r3
239 jbr     L33
240 L34:mov -12(r5),(sp)
241 mov     $L36,-(sp)
242 jsr     pc,*$_printf
243 tst     (sp)+
244 L30:mov r2,r0
245 jbr     L9
246 L9:jmp  cret
247 L7:sub  $122,sp
248 jbr     L8
249 .globl  _pen_disconnect
250 .text
251 _pen_disconnect:
252 ~~pen_disconnect:
253 jsr     r5,csv
254 jbr     L37
255 L38:mov _FD,(sp)
256 jsr     pc,*$_close
257 L39:jmp cret
258 L37:jbr L38
259 .globl  _pen_abort
260 .text
261 _pen_abort:
262 ~~pen_abort:
263 jsr     r5,csv
264 jbr     L40
265 L41:mov $1,(sp)
266 mov     $L43,-(sp)
267 mov     _FD,-(sp)
268 jsr     pc,*$_write
269 cmp     (sp)+,(sp)+
270 mov     _FD,(sp)
271 jsr     pc,*$_close
272 L42:jmp cret
273 L40:jbr L41
274 .globl  
275 .text
276 _echo:
277 ~~echo:
278 jsr     r5,csv
279 mov     4(r5),r4
280 ~s=r4
281 jbr     L44
282 L45:~c=177766
283 L47:movb        (r4)+,-12(r5)
284 jeq     L48
285 movb    -12(r5),r0
286 jbr     L50
287 L51:mov $1,(sp)
288 mov     r5,-(sp)
289 add     $-12,(sp)
290 mov     _FD,-(sp)
291 jsr     pc,*$_read
292 cmp     (sp)+,(sp)+
293 inc     r4
294 jbr     L49
295 L52:movb        (r4)+,-12(r5)
296 mov     $1,(sp)
297 mov     r5,-(sp)
298 add     $-12,(sp)
299 mov     _FD,-(sp)
300 jsr     pc,*$_write
301 cmp     (sp)+,(sp)+
302 jbr     L49
303 L53:mov $1,(sp)
304 mov     r5,-(sp)
305 add     $-12,(sp)
306 mov     _FD,-(sp)
307 jsr     pc,*$_write
308 cmp     (sp)+,(sp)+
309 mov     $1,(sp)
310 mov     r5,-(sp)
311 add     $-12,(sp)
312 mov     _FD,-(sp)
313 jsr     pc,*$_read
314 cmp     (sp)+,(sp)+
315 jbr     L49
316 L50:sub $43,r0
317 cmp     r0,$1
318 jhi     L53
319 asl     r0
320 jmp     *L10006(r0)
321         .data
322 L10006:L52
323 L51
324 .text
325 L49:jbr L47
326 L48:L46:jmp     cret
327 L44:tst -(sp)
328 jbr     L45
329 .globl  
330 .text
331 _sigALRM:
332 ~~sigALRM:
333 jsr     r5,csv
334 jbr     L54
335 L55:mov $L57,(sp)
336 jsr     pc,*$_printf
337 mov     $1,_timeout
338 mov     $1,(sp)
339 mov     $_buftimeout,-(sp)
340 jsr     pc,*$_longjmp
341 tst     (sp)+
342 L56:jmp cret
343 L54:jbr L55
344 .globl  
345 .text
346 _gobble:
347 ~~gobble:
348 jsr     r5,csv
349 ~match=4
350 ~response=6
351 jbr     L58
352 L59:mov 6(r5),r4
353 ~cp=r4
354 ~c=177766
355 ~f=177764
356 mov     $_sigALRM,(sp)
357 mov     $16,-(sp)
358 jsr     pc,*$_signal
359 tst     (sp)+
360 clr     _timeout
361 L63:mov $_buftimeout,(sp)
362 jsr     pc,*$_setjmp
363 tst     r0
364 jeq     L64
365 mov     -14(r5),(sp)
366 mov     $16,-(sp)
367 jsr     pc,*$_signal
368 tst     (sp)+
369 clrb    (r4)
370 clr     r0
371 jbr     L60
372 L64:mov 26+_vtable,(sp)
373 jsr     pc,*$_alarm
374 mov     $1,(sp)
375 mov     r4,-(sp)
376 mov     _FD,-(sp)
377 jsr     pc,*$_read
378 cmp     (sp)+,(sp)+
379 clr     (sp)
380 jsr     pc,*$_alarm
381 movb    (r4),r0
382 bic     $-200,r0
383 movb    r0,(r4)+
384 movb    r0,r0
385 movb    r0,-12(r5)
386 L61:cmpb        $12,-12(r5)
387 jeq     L10007
388 cmpb    4(r5),-12(r5)
389 jne     L63
390 L10007:L62:clr  (sp)
391 mov     $16,-(sp)
392 jsr     pc,*$_signal
393 tst     (sp)+
394 clrb    (r4)
395 cmpb    4(r5),-12(r5)
396 jeq     L10008
397 clr     r0
398 jbr     L10009
399 L10008:mov      $1,r0
400 L10009:jbr      L60
401 L60:jmp cret
402 L58:sub $4,sp
403 jbr     L59
404 .globl  
405 .text
406 _pensync:
407 ~~pensync:
408 jsr     r5,csv
409 ~fd=4
410 jbr     L65
411 L66:clr -12(r5)
412 ~already=177766
413 ~nread=177764
414 ~temp=177760
415 ~buf=177664
416 clr     (sp)
417 mov     $72170,-(sp)
418 mov     $20000,-(sp)
419 mov     _FD,-(sp)
420 jsr     pc,*$_ioctl
421 add     $6,sp
422 mov     $1,(sp)
423 jsr     pc,*$_sleep
424 clr     (sp)
425 mov     $72171,-(sp)
426 mov     $20000,-(sp)
427 mov     _FD,-(sp)
428 jsr     pc,*$_ioctl
429 add     $6,sp
430 L68:cmp $5,-12(r5)
431 jle     L69
432 mov     $1,(sp)
433 mov     $L70,-(sp)
434 mov     4(r5),-(sp)
435 jsr     pc,*$_write
436 cmp     (sp)+,(sp)+
437 mov     $2,(sp)
438 jsr     pc,*$_sleep
439 mov     r5,(sp)
440 add     $-20,(sp)
441 mov     $63177,-(sp)
442 mov     $40004,-(sp)
443 mov     4(r5),-(sp)
444 jsr     pc,*$_ioctl
445 add     $6,sp
446 tst     r0
447 jpl     L71
448 mov     $L72,(sp)
449 jsr     pc,*$_perror
450 jbr     L68
451 L71:mov -16(r5),-14(r5)
452 L73:tst -14(r5)
453 jmi     L74
454 jeq     L74
455 cmp     $106,-14(r5)
456 jge     L10010
457 mov     $106,(sp)
458 jbr     L10011
459 L10010:mov      -14(r5),(sp)
460 L10011:mov      r5,-(sp)
461 add     $-114,(sp)
462 mov     4(r5),-(sp)
463 jsr     pc,*$_read
464 cmp     (sp)+,(sp)+
465 mov     r5,r0
466 add     -14(r5),r0
467 movb    -122(r0),r0
468 bic     $-200,r0
469 cmp     $102,r0
470 jne     L75
471 mov     r5,r0
472 add     -14(r5),r0
473 movb    -121(r0),r0
474 bic     $-200,r0
475 cmp     $120,r0
476 jne     L75
477 mov     r5,r0
478 add     -14(r5),r0
479 movb    -120(r0),r0
480 bic     $-200,r0
481 cmp     $123,r0
482 jne     L75
483 mov     r5,r0
484 add     -14(r5),r0
485 movb    -115(r0),r0
486 bic     $-200,r0
487 cmp     $76,r0
488 jne     L75
489 mov     $1,r0
490 jbr     L67
491 L75:cmp $106,-14(r5)
492 jge     L10012
493 mov     $106,r0
494 jbr     L10013
495 L10012:mov      -14(r5),r0
496 L10013:sub      r0,-14(r5)
497 jbr     L73
498 L74:mov $1,(sp)
499 jsr     pc,*$_sleep
500 inc     -12(r5)
501 jbr     L68
502 L69:clr r0
503 jbr     L67
504 L67:jmp cret
505 L65:sub $104,sp
506 jbr     L66
507 .globl
508 .data
509 L11:.byte 143,141,156,47,164,40,163,171,156,143,150,162,157,156
510 .byte 151,172,145,40,167,151,164,150,40,160,145,156,162,151,154
511 .byte 12,0
512 L13:.byte 12,144,151,141,154,151,156,147,56,56,56,0
513 L14:.byte 43,153,44,15,44,12,44,104,44,111,44,101,44,114
514 .byte 44,72,44,40,0
515 L20:.byte 15,0
516 L36:.byte 45,163,56,56,56,0
517 L43:.byte 3,0
518 L57:.byte 7,164,151,155,145,157,165,164,40,167,141,151,164,151
519 .byte 156,147,40,146,157,162,40,162,145,160,154,171,12,0
520 L70:.byte 15,0
521 L72:.byte 164,151,160,72,40,151,157,143,164,154,0