Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / 20 / tway.mima
1
2 <PACKAGE "TWAY">
3
4 <ENTRY TS-RJFN TS-MODE TS-BSZ TS-RBUF TS-RBC TS-WJFN TS-WBUF TS-WBC TS-EXTRA TWAY-READ-BYTE TWAY-READ-BUFFER TWAY-WRITE-BUFFER TWAY-WRITE-BYTE TTY-CHANNEL DUMP-WRITE-BUFFER TWAY-BUFOUT>
5
6 <NEW-CHANNEL-TYPE TWAY DEFAULT OPEN TWAY-OPEN CLOSE TWAY-CLOSE READ-BYTE TWAY-READ-BYTE FILL-READ-BUFFER TWAY-FILL-READ WRITE-BYTE TWAY-WRITE-BYTE READ-BUFFER TWAY-READ-BUFFER WRITE-BUFFER TWAY-WRITE-BUFFER BUFOUT TWAY-BUFOUT PRINT-DATA TWAY-PRINT-DATA>
7
8 <SETG TS-RJFN %<OFFSET 1 '<OR TTY-CHANNEL TWAY-BASE>>>
9
10 <MANIFEST TS-RJFN>
11
12 <SETG TS-MODE %<OFFSET 2 '<OR TTY-CHANNEL TWAY-BASE>>>
13
14 <MANIFEST TS-MODE>
15
16 <SETG TS-BSZ %<OFFSET 3 '<OR TTY-CHANNEL TWAY-BASE>>>
17
18 <MANIFEST TS-BSZ>
19
20 <SETG TS-RBUF %<OFFSET 4 '<OR TTY-CHANNEL TWAY-BASE>>>
21
22 <MANIFEST TS-RBUF>
23
24 <SETG TS-RBC %<OFFSET 5 '<OR TTY-CHANNEL TWAY-BASE>>>
25
26 <MANIFEST TS-RBC>
27
28 <SETG TS-WJFN %<OFFSET 6 '<OR TTY-CHANNEL TWAY-BASE>>>
29
30 <MANIFEST TS-WJFN>
31
32 <SETG TS-WBUF %<OFFSET 7 '<OR TTY-CHANNEL TWAY-BASE>>>
33
34 <MANIFEST TS-WBUF>
35
36 <SETG TS-WBC %<OFFSET 8 '<OR TTY-CHANNEL TWAY-BASE>>>
37
38 <MANIFEST TS-WBC>
39
40 <SETG TS-EXTRA %<OFFSET 9 '<OR TTY-CHANNEL TWAY-BASE>>>
41
42 <MANIFEST TS-EXTRA>
43
44 <SETG TB-RJFN %<OFFSET 1 TWAY-BASE FIX>>
45
46 <MANIFEST TB-RJFN>
47
48 <SETG TB-MODE %<OFFSET 2 TWAY-BASE FIX>>
49
50 <MANIFEST TB-MODE>
51
52 <SETG TB-BSZ %<OFFSET 3 TWAY-BASE FIX>>
53
54 <MANIFEST TB-BSZ>
55
56 <SETG TB-RBUF %<OFFSET 4 TWAY-BASE '<OR FALSE STRING UVECTOR>>>
57
58 <MANIFEST TB-RBUF>
59
60 <SETG TB-RBC %<OFFSET 5 TWAY-BASE FIX>>
61
62 <MANIFEST TB-RBC>
63
64 <SETG TB-WJFN %<OFFSET 6 TWAY-BASE '<OR FIX FALSE>>>
65
66 <MANIFEST TB-WJFN>
67
68 <SETG TB-WBUF %<OFFSET 7 TWAY-BASE '<OR FALSE STRING UVECTOR>>>
69
70 <MANIFEST TB-WBUF>
71
72 <SETG TB-WBC %<OFFSET 8 TWAY-BASE FIX>>
73
74 <MANIFEST TB-WBC>
75
76 <NEWTYPE TWAY-BASE VECTOR '<<PRIMTYPE VECTOR> FIX FIX FIX <OR FALSE STRING UVECTOR> FIX <OR FIX FALSE> <OR FALSE STRING UVECTOR> FIX>>
77
78 <SETG BUFFERED <UVECTOR 0 2 7 13 14>>
79
80 <GDECL (BUFFERED) <UVECTOR [REST FIX]>>
81
82 #WORD *22567133655*
83                     <GFCN \1aTWAY-OPEN ("VALUE" <OR FALSE TWAY-BASE> ANY ANY STRING STRING "OPTIONAL" STRING <OR FIX ATOM FALSE> <OR FIX ATOM FALSE>) STYPE8 OPER9 NAME10 MODS11 BYTES12 OBUF?13 IBUF?14>
84                     <OPT-DISPATCH 4 %<> OPT4 OPT5 OPT6 OPT7>
85 OPT4
86                     <PUSH "ASCII">
87 OPT5
88                     <PUSH 1>
89 OPT6
90                     <PUSH 1>
91 OPT7
92                     <TEMP (NEW?15 %<>) (WRITE?20 %<>) (BUF?21 %<>) TEMP24 TEMP25 TEMP26 TEMP27 TEMP28 MODE16:FIX BSZ19:FIX>
93                     <INTGO>
94                     <IFCAN "STRING-EQUAL?">
95                     <STRING-EQUAL? MODS11 "READ" - PHRASE23>
96                     <ENDIF "STRING-EQUAL?">
97                     <IFCANNOT "STRING-EQUAL?">
98                     <SET TEMP24 MODS11>
99                     <SET TEMP25 "READ" (TYPE STRING)>
100                     <LENUS TEMP24 = TEMP26 (TYPE FIX)>
101                     <VEQUAL? TEMP26 4 - PHRASE23>
102                     <LOOP (TEMP24 VALUE LENGTH) (TEMP25 VALUE LENGTH) (TEMP26 VALUE)>
103 TAG29
104                     <NTHUS TEMP24 1 = TEMP27>
105                     <NTHUS TEMP25 1 = TEMP28>
106                     <VEQUAL? TEMP27 TEMP28 - PHRASE23>
107                     <DEAD TEMP27 TEMP28>
108                     <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
109                     <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
110                     <SUB TEMP26 1 = TEMP26 (TYPE FIX)>
111                     <GRTR? TEMP26 0 + TAG29 (TYPE FIX)>
112                     <ENDIF "STRING-EQUAL?">
113                     <SET MODE16 81952 (TYPE FIX)>
114                     <JUMP + PHRASE36>
115 PHRASE23
116                     <IFCAN "STRING-EQUAL?">
117                     <STRING-EQUAL? MODS11 "CREATE" - PHRASE30>
118                     <ENDIF "STRING-EQUAL?">
119                     <IFCANNOT "STRING-EQUAL?">
120                     <SET TEMP25 MODS11>
121                     <SET TEMP24 "CREATE" (TYPE STRING)>
122                     <LENUS TEMP25 = TEMP28 (TYPE FIX)>
123                     <VEQUAL? TEMP28 6 - PHRASE30>
124                     <LOOP (TEMP25 VALUE LENGTH) (TEMP24 VALUE LENGTH) (TEMP28 VALUE)>
125 TAG32
126                     <NTHUS TEMP25 1 = TEMP27>
127                     <NTHUS TEMP24 1 = TEMP26>
128                     <VEQUAL? TEMP27 TEMP26 - PHRASE30>
129                     <DEAD TEMP27 TEMP26>
130                     <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
131                     <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
132                     <SUB TEMP28 1 = TEMP28 (TYPE FIX)>
133                     <GRTR? TEMP28 0 + TAG32 (TYPE FIX)>
134                     <ENDIF "STRING-EQUAL?">
135                     <SET NEW?15 'T (TYPE ATOM)>
136                     <SET WRITE?20 'T (TYPE ATOM)>
137                     <SET MODE16 114720 (TYPE FIX)>
138                     <JUMP + PHRASE36>
139 PHRASE30
140                     <IFCAN "STRING-EQUAL?">
141                     <STRING-EQUAL? MODS11 "MODIFY" - PHRASE33>
142                     <ENDIF "STRING-EQUAL?">
143                     <IFCANNOT "STRING-EQUAL?">
144                     <SET TEMP24 MODS11>
145                     <SET TEMP25 "MODIFY" (TYPE STRING)>
146                     <LENUS TEMP24 = TEMP26 (TYPE FIX)>
147                     <VEQUAL? TEMP26 6 - PHRASE33>
148                     <LOOP (TEMP24 VALUE LENGTH) (TEMP25 VALUE LENGTH) (TEMP26 VALUE)>
149 TAG35
150                     <NTHUS TEMP24 1 = TEMP27>
151                     <NTHUS TEMP25 1 = TEMP28>
152                     <VEQUAL? TEMP27 TEMP28 - PHRASE33>
153                     <DEAD TEMP27 TEMP28>
154                     <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
155                     <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
156                     <SUB TEMP26 1 = TEMP26 (TYPE FIX)>
157                     <GRTR? TEMP26 0 + TAG35 (TYPE FIX)>
158                     <ENDIF "STRING-EQUAL?">
159                     <SET WRITE?20 'T (TYPE ATOM)>
160                     <SET MODE16 114720 (TYPE FIX)>
161                     <JUMP + PHRASE36>
162 PHRASE33
163                     <FRAME '\1aERROR>
164                     <PUSH 'ILLEGAL-MODE>
165                     <PUSH MODS11>
166                     <DEAD MODS11>
167                     <PUSH 'TWAY-OPEN>
168                     <CALL '\1aERROR 3>
169 PHRASE36
170                     <IFCAN "STRING-EQUAL?">
171                     <STRING-EQUAL? BYTES12 "ASCII" - PHRASE39>
172                     <ENDIF "STRING-EQUAL?">
173                     <IFCANNOT "STRING-EQUAL?">
174                     <SET TEMP25 BYTES12>
175                     <SET TEMP24 "ASCII" (TYPE STRING)>
176                     <LENUS TEMP25 = TEMP28 (TYPE FIX)>
177                     <VEQUAL? TEMP28 5 - PHRASE39>
178                     <LOOP (TEMP25 VALUE LENGTH) (TEMP24 VALUE LENGTH) (TEMP28 VALUE)>
179 TAG41
180                     <NTHUS TEMP25 1 = TEMP27>
181                     <NTHUS TEMP24 1 = TEMP26>
182                     <VEQUAL? TEMP27 TEMP26 - PHRASE39>
183                     <DEAD TEMP27 TEMP26>
184                     <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
185                     <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
186                     <SUB TEMP28 1 = TEMP28 (TYPE FIX)>
187                     <GRTR? TEMP28 0 + TAG41 (TYPE FIX)>
188                     <ENDIF "STRING-EQUAL?">
189                     <SET BSZ19 7 (TYPE FIX)>
190                     <JUMP + PHRASE45>
191 PHRASE39
192                     <IFCAN "STRING-EQUAL?">
193                     <STRING-EQUAL? BYTES12 "BINARY" - PHRASE42>
194                     <ENDIF "STRING-EQUAL?">
195                     <IFCANNOT "STRING-EQUAL?">
196                     <SET TEMP24 BYTES12>
197                     <SET TEMP25 "BINARY" (TYPE STRING)>
198                     <LENUS TEMP24 = TEMP26 (TYPE FIX)>
199                     <VEQUAL? TEMP26 6 - PHRASE42>
200                     <LOOP (TEMP24 VALUE LENGTH) (TEMP25 VALUE LENGTH) (TEMP26 VALUE)>
201 TAG44
202                     <NTHUS TEMP24 1 = TEMP27>
203                     <NTHUS TEMP25 1 = TEMP28>
204                     <VEQUAL? TEMP27 TEMP28 - PHRASE42>
205                     <DEAD TEMP27 TEMP28>
206                     <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
207                     <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
208                     <SUB TEMP26 1 = TEMP26 (TYPE FIX)>
209                     <GRTR? TEMP26 0 + TAG44 (TYPE FIX)>
210                     <ENDIF "STRING-EQUAL?">
211                     <SET BSZ19 36 (TYPE FIX)>
212                     <JUMP + PHRASE45>
213 PHRASE42
214                     <FRAME '\1aERROR>
215                     <PUSH 'ILLEGAL-BYTE-SIZE>
216                     <PUSH BYTES12>
217                     <DEAD BYTES12>
218                     <PUSH 'TWAY-OPEN>
219                     <CALL '\1aERROR 3>
220 PHRASE45
221                     <FRAME '\1aGET-JFN>
222                     <PUSH NAME10>
223                     <DEAD NAME10>
224                     <PUSH MODE16>
225                     <PUSH BSZ19>
226                     <PUSH NEW?15>
227                     <DEAD NEW?15>
228                     <CALL '\1aGET-JFN 4 = NEW?15>
229                     <SET TEMP25 NEW?15>
230                     <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE48>
231                     <TYPE? IBUF?14 <TYPE-CODE FIX> + BOOL52>
232                     <TYPE? OBUF?13 <TYPE-CODE FIX> - PHRASE62>
233 BOOL52
234                     <FRAME '\1aGET-DEVICE-TYPE>
235                     <PUSH NEW?15>
236                     <CALL '\1aGET-DEVICE-TYPE 1 = TEMP24>
237                     <GVAL 'BUFFERED = TEMP28>
238                     <TYPE? TEMP24 <TYPE-CODE FIX> - PHRASE54>
239                     <EMPUU? TEMP28 + PHRASE54>
240                     <LOOP (TEMP24 VALUE) (TEMP28 LENGTH VALUE)>
241 TAG56
242                     <NTHUU TEMP28 1 = TEMP27>
243                     <VEQUAL? TEMP27 TEMP24 + TAG55>
244                     <DEAD TEMP27>
245                     <RESTUU TEMP28 1 = TEMP28 (TYPE UVECTOR)>
246                     <EMPUU? TEMP28 - TAG56>
247                     <JUMP + PHRASE54>
248 TAG55
249                     <SET BUF?21 'T (TYPE ATOM)>
250 PHRASE54
251                     <TYPE? IBUF?14 <TYPE-CODE FIX> - PHRASE60>
252                     <SET IBUF?14 BUF?21>
253 PHRASE60
254                     <TYPE? OBUF?13 <TYPE-CODE FIX> - PHRASE62>
255                     <SET OBUF?13 BUF?21>
256                     <DEAD BUF?21>
257 PHRASE62
258                     <PUSH NEW?15>
259                     <PUSH MODE16>
260                     <DEAD MODE16>
261                     <PUSH BSZ19>
262                     <SET TEMP28 IBUF?14>
263                     <DEAD IBUF?14>
264                     <TYPE? TEMP28 <TYPE-CODE FALSE> + PHRASE65>
265                     <FRAME '\1aMAKE-BUFFER>
266                     <PUSH BSZ19>
267                     <CALL '\1aMAKE-BUFFER 1 = TEMP28>
268 PHRASE65
269                     <PUSH TEMP28>
270                     <DEAD TEMP28>
271                     <PUSH 0>
272                     <SET TEMP28 WRITE?20>
273                     <VEQUAL? TEMP28 0 + PHRASE68>
274                     <SET TEMP28 NEW?15>
275                     <DEAD NEW?15>
276 PHRASE68
277                     <PUSH TEMP28>
278                     <DEAD TEMP28>
279                     <SET TEMP28 WRITE?20>
280                     <DEAD WRITE?20>
281                     <VEQUAL? TEMP28 0 + PHRASE70>
282                     <SET TEMP28 OBUF?13>
283                     <DEAD OBUF?13>
284                     <TYPE? TEMP28 <TYPE-CODE FALSE> + PHRASE70>
285                     <FRAME '\1aMAKE-BUFFER>
286                     <PUSH BSZ19>
287                     <DEAD BSZ19>
288                     <CALL '\1aMAKE-BUFFER 1 = TEMP28>
289 PHRASE70
290                     <PUSH TEMP28>
291                     <DEAD TEMP28>
292                     <PUSH 0>
293                     <UBLOCK <TYPE-CODE VECTOR> 8 = TEMP28>
294                     <CHTYPE TEMP28 <TYPE-CODE TWAY-BASE> = TEMP25>
295                     <DEAD TEMP28>
296 PHRASE48
297                     <RETURN TEMP25>
298                     <DEAD TEMP25>
299                     <END \1aTWAY-OPEN>
300
301 #WORD *3203110410*
302                     <GFCN \1aMAKE-BUFFER ("VALUE" <OR STRING <UVECTOR [64 FIX] [REST FIX]>> FIX) BSZ4>
303                     <TEMP TEMP7>
304                     <INTGO>
305                     <VEQUAL? BSZ4 7 - PHRASE6 (TYPE FIX)>
306                     <DEAD BSZ4>
307                     <UUBLOCK <TYPE-CODE STRING> 320 = TEMP7 (TYPE STRING)>
308                     <RETURN TEMP7>
309                     <DEAD TEMP7>
310 PHRASE6
311                     <UUBLOCK <TYPE-CODE UVECTOR> 64 = TEMP7 (TYPE UVECTOR)>
312                     <RETURN TEMP7>
313                     <DEAD TEMP7>
314                     <END \1aMAKE-BUFFER>
315
316 \\f
317
318 #WORD *17063213705*
319                     <GFCN \1aTWAY-READ-BYTE ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5>
320                     <TEMP DATA6 IBUF7 TEMP14 TEMP22>
321                     <INTGO>
322                     <NTHUV CHANNEL4 5 = DATA6>
323                     <NTHUV DATA6 4 = IBUF7>
324                     <TYPE? IBUF7 <TYPE-CODE FALSE> + PHRASE11>
325                     <NTHUV DATA6 5 = TEMP14 (TYPE FIX)>
326                     <VEQUAL? TEMP14 0 - PHRASE13 (TYPE FIX)>
327                     <DEAD TEMP14>
328                     <FRAME '\1aFCHANNEL-OP>
329                     <PUSH CHANNEL4>
330                     <DEAD CHANNEL4>
331                     <PUSH 'FILL-READ-BUFFER>
332                     <CALL '\1aFCHANNEL-OP 2 = TEMP14>
333                     <TYPE? TEMP14 <TYPE-CODE FALSE> - PHRASE18>
334                     <RETURN TEMP14>
335                     <DEAD TEMP14>
336 PHRASE18
337                     <NTHUV DATA6 4 = IBUF7>
338 PHRASE13
339                     <NTHUV DATA6 5 = TEMP22 (TYPE FIX)>
340                     <VEQUAL? TEMP22 0 - PHRASE21 (TYPE FIX)>
341                     <DEAD TEMP22>
342                     <SET TEMP22 %<> (TYPE FALSE)>
343                     <JUMP + COND30>
344 PHRASE21
345                     <NTH1 IBUF7 = TEMP14>
346                     <NTHUV DATA6 5 = TEMP22 (TYPE FIX)>
347                     <SUB TEMP22 1 = TEMP22 (TYPE FIX)>
348                     <PUTUV DATA6 5 TEMP22 (TYPE FIX)>
349                     <DEAD TEMP22>
350                     <REST1 IBUF7 = TEMP22>
351                     <DEAD IBUF7>
352                     <PUTUV DATA6 4 TEMP22>
353                     <DEAD DATA6 TEMP22>
354                     <SET TEMP22 TEMP14>
355                     <DEAD TEMP14>
356                     <JUMP + COND30>
357 PHRASE11
358                     <NTHUV DATA6 1 = TEMP22 (TYPE FIX)>
359                     <SYSOP 'BIN TEMP22 (RETURN 2) = TEMP14>
360                     <DEAD TEMP22>
361                     <SET TEMP22 TEMP14>
362                     <TYPE? TEMP22 <TYPE-CODE FALSE> + COND30>
363                     <NTHUV DATA6 3 = TEMP22 (TYPE FIX)>
364                     <DEAD DATA6>
365                     <VEQUAL? TEMP22 7 - PHRASE31 (TYPE FIX)>
366                     <DEAD TEMP22>
367                     <CHTYPE TEMP14 <TYPE-CODE CHARACTER> = TEMP22>
368                     <DEAD TEMP14>
369                     <JUMP + COND30>
370 PHRASE31
371                     <SET TEMP22 TEMP14>
372                     <DEAD TEMP14>
373 COND30
374                     <RETURN TEMP22>
375                     <DEAD TEMP22>
376                     <END \1aTWAY-READ-BYTE>
377
378 #WORD *22327140570*
379                     <GFCN \1aTWAY-FILL-READ ("VALUE" <OR FALSE FIX> CHANNEL ANY) CHANNEL4 OPER5>
380                     <TEMP DATA6 JFN7 TEMP11 BUF8 CT10:FIX>
381                     <INTGO>
382                     <NTHUV CHANNEL4 5 = DATA6>
383                     <DEAD CHANNEL4>
384                     <NTHUV DATA6 1 = JFN7 (TYPE FIX)>
385                     <NTHUV DATA6 4 = TEMP11>
386                     <TOPU TEMP11 = BUF8>
387                     <DEAD TEMP11>
388                     <FRAME '\1aLENGTH>
389                     <PUSH BUF8>
390                     <CALL '\1aLENGTH 1 = CT10>
391                     <SUB 0 CT10 = TEMP11 (TYPE FIX)>
392                     <SYSOP 'SIN-JSYS JFN7 BUF8 TEMP11 = JFN7>
393                     <DEAD TEMP11>
394                     <SET TEMP11 JFN7>
395                     <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE13>
396                     <FRAME '\1aLENGTH>
397                     <PUSH JFN7>
398                     <DEAD JFN7>
399                     <CALL '\1aLENGTH 1 = TEMP11>
400                     <SUB CT10 TEMP11 = CT10 (TYPE FIX)>
401                     <DEAD TEMP11>
402                     <PUTUV DATA6 4 BUF8>
403                     <DEAD BUF8>
404                     <PUTUV DATA6 5 CT10 (TYPE FIX)>
405                     <DEAD DATA6>
406                     <SET TEMP11 CT10>
407                     <DEAD CT10>
408 PHRASE13
409                     <RETURN TEMP11>
410                     <DEAD TEMP11>
411                     <END \1aTWAY-FILL-READ>
412
413 #WORD *1015273036*
414                     <GFCN \1aTWAY-READ-BUFFER ("VALUE" <OR FALSE FIX> CHANNEL ANY <OR STRING UVECTOR> "OPTIONAL" FIX FIX) CHANNEL7 OPER8 BUF9 LEN10 CONT11>
415                     <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6>
416 OPT4
417                     <PUSH #T$UNBOUND 0>
418 OPT5
419                     <PUSH 0>
420 OPT6
421                     <TEMP DATA12 IBUF13 TEMP18:FIX TEMP19 BC14:FIX TEMP28 CT47:FIX TEMP57 IB64 B65>
422                     <INTGO>
423                     <TYPE? LEN10 <TYPE-CODE UNBOUND> - TAG15>
424                     <FRAME '\1aLENGTH>
425                     <PUSH BUF9>
426                     <CALL '\1aLENGTH 1 = LEN10>
427 TAG15
428                     <NTHUV CHANNEL7 5 = DATA12>
429                     <NTHUV DATA12 4 = IBUF13>
430                     <SET TEMP18 LEN10>
431                     <DEAD LEN10>
432                     <LENU BUF9 = TEMP19>
433                     <GRTR? TEMP18 TEMP19 - TAG20>
434                     <SET TEMP18 TEMP19 (TYPE FIX)>
435                     <DEAD TEMP19>
436 TAG20
437                     <SET LEN10 TEMP18>
438                     <DEAD TEMP18>
439                     <TYPE? IBUF13 <TYPE-CODE FALSE> - PHRASE22>
440                     <NTHUV DATA12 1 = TEMP18 (TYPE FIX)>
441                     <DEAD DATA12>
442                     <FRAME '\1aREST>
443                     <PUSH BUF9>
444                     <DEAD BUF9>
445                     <PUSH CONT11>
446                     <CALL '\1aREST 2 = TEMP19>
447                     <SUB LEN10 CONT11 = BC14 (TYPE FIX)>
448                     <DEAD LEN10>
449                     <SUB 0 BC14 = TEMP28 (TYPE FIX)>
450                     <SYSOP 'SIN-JSYS TEMP18 TEMP19 TEMP28 = IBUF13>
451                     <DEAD TEMP18 TEMP19 TEMP28>
452                     <SET TEMP19 IBUF13>
453                     <TYPE? TEMP19 <TYPE-CODE FALSE> + EXIT37>
454                     <FRAME '\1aLENGTH>
455                     <PUSH IBUF13>
456                     <DEAD IBUF13>
457                     <CALL '\1aLENGTH 1 = TEMP28>
458                     <SUB BC14 TEMP28 = BC14 (TYPE FIX)>
459                     <DEAD TEMP28>
460                     <ADD CONT11 BC14 = TEMP19 (TYPE FIX)>
461                     <DEAD CONT11 BC14>
462                     <RETURN TEMP19>
463                     <DEAD TEMP19>
464 PHRASE22
465                     <FRAME '\1aPRIMTYPE>
466                     <PUSH IBUF13>
467                     <CALL '\1aPRIMTYPE 1 = TEMP28>
468                     <FRAME '\1aPRIMTYPE>
469                     <PUSH BUF9>
470                     <CALL '\1aPRIMTYPE 1 = TEMP19>
471                     <VEQUAL? TEMP28 TEMP19 + PHRASE32>
472                     <DEAD TEMP28 TEMP19>
473                     <FRAME '\1aERROR>
474                     <PUSH 'WRONG-TYPE-BUFFER>
475                     <PUSH BUF9>
476                     <PUSH 'TWAY-READ-BUFFER>
477                     <CALL '\1aERROR 3>
478 PHRASE32
479                     <FRAME '\1aREST>
480                     <PUSH BUF9>
481                     <DEAD BUF9>
482                     <PUSH CONT11>
483                     <CALL '\1aREST 2 = BUF9>
484                     <SUB LEN10 CONT11 = LEN10 (TYPE FIX)>
485                     <SET TEMP18 CONT11>
486                     <DEAD CONT11>
487                     <SET TEMP28 -1 (TYPE FIX)>
488                     <LOOP>
489 AGAIN40
490                     <INTGO>
491                     <NTHUV DATA12 5 = BC14 (TYPE FIX)>
492                     <VEQUAL? BC14 0 + PHRASE42 (TYPE FIX)>
493                     <SET TEMP28 BC14>
494                     <GRTR? TEMP28 LEN10 - TAG45>
495                     <SET TEMP28 LEN10 (TYPE FIX)>
496 TAG45
497                     <SET CT47 0 (TYPE FIX)>
498                     <TYPE? IBUF13 <TYPE-CODE STRING> - PHRASE50>
499                     <SET TEMP57 IBUF13 (TYPE STRING)>
500                     <CHTYPE BUF9 <TYPE-CODE STRING> = TEMP19>
501                     <LOOP>
502 MAP52
503                     <INTGO>
504                     <EMPUS? TEMP57 + MAPAP74>
505                     <EMPUS? TEMP19 + MAPAP74>
506                     <SET IB64 TEMP57>
507                     <SET B65 TEMP19>
508                     <NTHUS IB64 1 = IB64 (TYPE CHARACTER)>
509                     <PUTUS B65 1 IB64>
510                     <DEAD B65 IB64>
511                     <ADD CT47 1 = CT47 (TYPE FIX)>
512                     <LESS? CT47 TEMP28 - MAPAP74 (TYPE FIX)>
513                     <RESTUS TEMP57 1 = TEMP57 (TYPE STRING)>
514                     <RESTUS TEMP19 1 = TEMP19 (TYPE STRING)>
515                     <JUMP + MAP52>
516 PHRASE50
517                     <TYPE? IBUF13 <TYPE-CODE UVECTOR> - MAPAP74>
518                     <SET TEMP19 IBUF13 (TYPE UVECTOR)>
519                     <CHTYPE BUF9 <TYPE-CODE UVECTOR> = TEMP57>
520                     <LOOP>
521 MAP71
522                     <INTGO>
523                     <EMPUU? TEMP19 + MAPAP74>
524                     <EMPUU? TEMP57 + MAPAP74>
525                     <SET IB64 TEMP19>
526                     <SET B65 TEMP57>
527                     <NTHUU IB64 1 = IB64 (TYPE FIX)>
528                     <PUTUU B65 1 IB64>
529                     <DEAD B65 IB64>
530                     <ADD CT47 1 = CT47 (TYPE FIX)>
531                     <LESS? CT47 TEMP28 - MAPAP74 (TYPE FIX)>
532                     <RESTUU TEMP19 1 = TEMP19 (TYPE UVECTOR)>
533                     <RESTUU TEMP57 1 = TEMP57 (TYPE UVECTOR)>
534                     <JUMP + MAP71>
535 MAPAP74
536                     <FRAME '\1aREST>
537                     <PUSH BUF9>
538                     <DEAD BUF9>
539                     <PUSH TEMP28>
540                     <CALL '\1aREST 2 = BUF9>
541                     <ADD TEMP28 TEMP18 = TEMP18 (TYPE FIX)>
542                     <FRAME '\1aREST>
543                     <PUSH IBUF13>
544                     <DEAD IBUF13>
545                     <PUSH TEMP28>
546                     <CALL '\1aREST 2 = IBUF13>
547                     <PUTUV DATA12 4 IBUF13>
548                     <DEAD IBUF13>
549                     <SUB BC14 TEMP28 = IBUF13 (TYPE FIX)>
550                     <DEAD BC14>
551                     <PUTUV DATA12 5 IBUF13 (TYPE FIX)>
552                     <DEAD IBUF13>
553                     <SUB LEN10 TEMP28 = LEN10 (TYPE FIX)>
554 PHRASE42
555                     <VEQUAL? LEN10 0 + BOOL87 (TYPE FIX)>
556                     <VEQUAL? TEMP28 0 - PHRASE86 (TYPE FIX)>
557 BOOL87
558                     <RETURN TEMP18>
559                     <DEAD TEMP18>
560 PHRASE86
561                     <FRAME '\1aFCHANNEL-OP>
562                     <PUSH CHANNEL7>
563                     <PUSH 'FILL-READ-BUFFER>
564                     <CALL '\1aFCHANNEL-OP 2 = IBUF13>
565                     <TYPE? IBUF13 <TYPE-CODE FALSE> + BOOL95>
566                     <DEAD IBUF13>
567                     <NTHUV DATA12 5 = IB64 (TYPE FIX)>
568                     <VEQUAL? IB64 0 - PHRASE94 (TYPE FIX)>
569                     <DEAD IB64>
570 BOOL95
571                     <RETURN TEMP18>
572                     <DEAD TEMP18>
573 PHRASE94
574                     <NTHUV DATA12 4 = IBUF13>
575                     <JUMP + AGAIN40>
576 EXIT37
577                     <RETURN TEMP19>
578                     <DEAD TEMP19>
579                     <END \1aTWAY-READ-BUFFER>
580
581 \\f
582
583 #WORD *16451735261*
584                     <GFCN \1aTWAY-WRITE-BYTE ("VALUE" <OR CHARACTER FIX> CHANNEL ANY <OR CHARACTER FIX>) CHANNEL4 OPER5 BYTE6>
585                     <TEMP DATA7 JFN8 BUF9 TEMP15>
586                     <INTGO>
587                     <NTHUV CHANNEL4 5 = DATA7>
588                     <NTHUV DATA7 6 = JFN8>
589                     <NTHUV DATA7 7 = BUF9>
590                     <TYPE? JFN8 <TYPE-CODE FALSE> - PHRASE11>
591                     <FRAME '\1aERROR>
592                     <PUSH 'CHANNEL-NOT-OPEN-FOR-WRITING>
593                     <PUSH CHANNEL4>
594                     <DEAD CHANNEL4>
595                     <PUSH 'TWAY-WRITE-BYTE>
596                     <CALL '\1aERROR 3>
597 PHRASE11
598                     <TYPE? BUF9 <TYPE-CODE FALSE> - PHRASE14>
599                     <CHTYPE BYTE6 <TYPE-CODE FIX> = TEMP15>
600                     <SYSOP 'BOUT JFN8 TEMP15 (RETURN 2)>
601                     <DEAD JFN8 TEMP15>
602                     <RETURN BYTE6>
603                     <DEAD BYTE6>
604 PHRASE14
605                     <EMPTY? BUF9 - PHRASE18>
606                     <FRAME '\1aDUMP-WRITE-BUFFER>
607                     <PUSH DATA7>
608                     <CALL '\1aDUMP-WRITE-BUFFER 1>
609                     <NTHUV DATA7 7 = BUF9>
610 PHRASE18
611                     <FRAME '\1aPUT>
612                     <PUSH BUF9>
613                     <PUSH 1>
614                     <TYPE? BUF9 <TYPE-CODE UVECTOR> - PHRASE22>
615                     <CHTYPE BYTE6 <TYPE-CODE FIX> = TEMP15>
616                     <JUMP + COND21>
617 PHRASE22
618                     <CHTYPE BYTE6 <TYPE-CODE CHARACTER> = TEMP15>
619 COND21
620                     <PUSH TEMP15>
621                     <DEAD TEMP15>
622                     <CALL '\1aPUT 3>
623                     <REST1 BUF9 = TEMP15>
624                     <DEAD BUF9>
625                     <PUTUV DATA7 7 TEMP15>
626                     <DEAD TEMP15>
627                     <NTHUV DATA7 8 = TEMP15 (TYPE FIX)>
628                     <ADD TEMP15 1 = TEMP15 (TYPE FIX)>
629                     <PUTUV DATA7 8 TEMP15 (TYPE FIX)>
630                     <DEAD DATA7 TEMP15>
631                     <RETURN BYTE6>
632                     <DEAD BYTE6>
633                     <END \1aTWAY-WRITE-BYTE>
634
635 #WORD *10753101511*
636                     <GFCN \1aDUMP-WRITE-BUFFER ("VALUE" <OR TWAY-BASE TTY-CHANNEL> <OR TWAY-BASE TTY-CHANNEL>) DATA4>
637                     <TEMP TEMP9 TEMP14 BUF6>
638                     <INTGO>
639                     <NTHUV DATA4 8 = TEMP9 (TYPE FIX)>
640                     <VEQUAL? TEMP9 0 + PHRASE13 (TYPE FIX)>
641                     <DEAD TEMP9>
642                     <NTHUV DATA4 6 = TEMP9>
643                     <NTHUV DATA4 7 = TEMP14>
644                     <TOPU TEMP14 = BUF6>
645                     <DEAD TEMP14>
646                     <NTHUV DATA4 8 = TEMP14 (TYPE FIX)>
647                     <SUB 0 TEMP14 = TEMP14 (TYPE FIX)>
648                     <SYSOP 'SOUT TEMP9 BUF6 TEMP14 = TEMP9>
649                     <DEAD BUF6 TEMP14>
650                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE13>
651                     <DEAD TEMP9>
652                     <PUTUV DATA4 8 0 (TYPE FIX)>
653 PHRASE13
654                     <NTHUV DATA4 7 = TEMP14>
655                     <TOPU TEMP14 = TEMP14>
656                     <PUTUV DATA4 7 TEMP14>
657                     <DEAD TEMP14>
658                     <RETURN DATA4>
659                     <DEAD DATA4>
660                     <END \1aDUMP-WRITE-BUFFER>
661
662 #WORD *34001565325*
663                     <GFCN \1aTWAY-BUFOUT ("VALUE" <OR ATOM FALSE> CHANNEL ANY "OPTIONAL" <OR ATOM FALSE>) CHANNEL6 OPER7 FORCE?8>
664                     <OPT-DISPATCH 2 %<> OPT4 OPT5>
665 OPT4
666                     <PUSH 'T>
667 OPT5
668                     <TEMP DATA9 JFN10 BC11:FIX BUF12 TEMP15>
669                     <INTGO>
670                     <NTHUV CHANNEL6 5 = DATA9>
671                     <DEAD CHANNEL6>
672                     <NTHUV DATA9 6 = JFN10>
673                     <NTHUV DATA9 8 = BC11 (TYPE FIX)>
674                     <NTHUV DATA9 7 = BUF12>
675                     <SET TEMP15 JFN10>
676                     <TYPE? TEMP15 <TYPE-CODE FALSE> + PHRASE14>
677                     <TYPE? BUF12 <TYPE-CODE FALSE> + PHRASE17>
678                     <DEAD BUF12>
679                     <VEQUAL? BC11 0 + PHRASE17 (TYPE FIX)>
680                     <DEAD BC11>
681                     <FRAME '\1aDUMP-WRITE-BUFFER>
682                     <PUSH DATA9>
683                     <DEAD DATA9>
684                     <CALL '\1aDUMP-WRITE-BUFFER 1>
685 PHRASE17
686                     <TYPE? FORCE?8 <TYPE-CODE FALSE> + PHRASE23>
687                     <DEAD FORCE?8>
688                     <SYSOP 'DOBE JFN10>
689                     <DEAD JFN10>
690 PHRASE23
691                     <SET TEMP15 'T (TYPE ATOM)>
692 PHRASE14
693                     <RETURN TEMP15>
694                     <DEAD TEMP15>
695                     <END \1aTWAY-BUFOUT>
696
697 #WORD *35064222207*
698                     <GFCN \1aTWAY-WRITE-BUFFER ("VALUE" <OR FALSE FIX> CHANNEL ANY <OR STRING BYTES UVECTOR> "OPTIONAL" FIX) CHANNEL6 OPER7 BUF8 LEN9>
699                     <OPT-DISPATCH 3 %<> OPT4 OPT5>
700 OPT4
701                     <PUSH #T$UNBOUND 0>
702 OPT5
703                     <TEMP DATA10 JFN11 OBUF12 TEMP18:FIX TEMP19 TEMP56 TEMP62 B63 OB64>
704                     <INTGO>
705                     <TYPE? LEN9 <TYPE-CODE UNBOUND> - TAG13>
706                     <LENU BUF8 = LEN9>
707 TAG13
708                     <NTHUV CHANNEL6 5 = DATA10>
709                     <NTHUV DATA10 6 = JFN11>
710                     <NTHUV DATA10 7 = OBUF12>
711                     <TYPE? JFN11 <TYPE-CODE FALSE> - PHRASE16>
712                     <FRAME '\1aERROR>
713                     <PUSH 'CHANNEL-NOT-OPEN-FOR-WRITING>
714                     <PUSH CHANNEL6>
715                     <DEAD CHANNEL6>
716                     <PUSH 'TWAY-WRITE-BUFFER>
717                     <CALL '\1aERROR 3>
718 PHRASE16
719                     <SET TEMP18 LEN9>
720                     <DEAD LEN9>
721                     <LENU BUF8 = TEMP19>
722                     <GRTR? TEMP18 TEMP19 - TAG20>
723                     <SET TEMP18 TEMP19 (TYPE FIX)>
724                     <DEAD TEMP19>
725 TAG20
726                     <SET LEN9 TEMP18>
727                     <DEAD TEMP18>
728                     <TYPE? OBUF12 <TYPE-CODE FALSE> + BOOL23>
729                     <TYPE OBUF12 = TEMP19>
730                     <AND TEMP19 #WORD *7* = TEMP19>
731                     <TYPE BUF8 = TEMP18>
732                     <AND TEMP18 #WORD *7* = TEMP18>
733                     <VEQUAL? TEMP19 TEMP18 + PHRASE22 (TYPE FIX)>
734                     <DEAD TEMP19 TEMP18>
735 BOOL23
736                     <TYPE? OBUF12 <TYPE-CODE FALSE> + PHRASE26>
737                     <DEAD OBUF12>
738                     <FRAME '\1aDUMP-WRITE-BUFFER>
739                     <PUSH DATA10>
740                     <DEAD DATA10>
741                     <CALL '\1aDUMP-WRITE-BUFFER 1>
742 PHRASE26
743                     <GRTR? LEN9 0 - PHRASE29 (TYPE FIX)>
744                     <SUB 0 LEN9 = TEMP18 (TYPE FIX)>
745                     <DEAD LEN9>
746                     <SYSOP 'SOUT JFN11 BUF8 TEMP18 = OBUF12>
747                     <DEAD JFN11 TEMP18>
748                     <SET TEMP19 OBUF12>
749                     <TYPE? TEMP19 <TYPE-CODE FALSE> + COND28>
750                     <LENU BUF8 = TEMP18>
751                     <DEAD BUF8>
752                     <LENU OBUF12 = JFN11>
753                     <DEAD OBUF12>
754                     <SUB TEMP18 JFN11 = TEMP19 (TYPE FIX)>
755                     <DEAD TEMP18 JFN11>
756                     <RETURN TEMP19>
757                     <DEAD TEMP19>
758 PHRASE29
759                     <SET TEMP19 0 (TYPE FIX)>
760 COND28
761                     <RETURN TEMP19>
762                     <DEAD TEMP19>
763 PHRASE22
764                     <SET JFN11 0 (TYPE FIX)>
765                     <LOOP>
766 AGAIN40
767                     <INTGO>
768                     <VEQUAL? LEN9 0 - PHRASE42 (TYPE FIX)>
769                     <RETURN JFN11>
770                     <DEAD JFN11>
771 PHRASE42
772                     <EMPTY? OBUF12 - PHRASE45>
773                     <FRAME '\1aDUMP-WRITE-BUFFER>
774                     <PUSH DATA10>
775                     <CALL '\1aDUMP-WRITE-BUFFER 1>
776                     <NTHUV DATA10 7 = OBUF12>
777 PHRASE45
778                     <SET TEMP19 0 (TYPE FIX)>
779                     <LENU OBUF12 = TEMP18>
780                     <GRTR? TEMP18 LEN9 - TAG47>
781                     <SET TEMP18 LEN9 (TYPE FIX)>
782 TAG47
783                     <TYPE? BUF8 <TYPE-CODE STRING> - PHRASE49>
784                     <SET TEMP56 BUF8 (TYPE STRING)>
785                     <CHTYPE OBUF12 <TYPE-CODE STRING> = TEMP62>
786                     <LOOP>
787 MAP51
788                     <INTGO>
789                     <EMPUS? TEMP56 + MAPAP72>
790                     <EMPUS? TEMP62 + MAPAP72>
791                     <SET B63 TEMP56>
792                     <SET OB64 TEMP62>
793                     <NTHUS B63 1 = B63 (TYPE CHARACTER)>
794                     <PUTUS OB64 1 B63>
795                     <DEAD OB64 B63>
796                     <ADD TEMP19 1 = TEMP19 (TYPE FIX)>
797                     <LESS? TEMP19 TEMP18 - MAPAP72 (TYPE FIX)>
798                     <RESTUS TEMP56 1 = TEMP56 (TYPE STRING)>
799                     <RESTUS TEMP62 1 = TEMP62 (TYPE STRING)>
800                     <JUMP + MAP51>
801 PHRASE49
802                     <CHTYPE BUF8 <TYPE-CODE UVECTOR> = TEMP56>
803                     <CHTYPE OBUF12 <TYPE-CODE UVECTOR> = TEMP62>
804                     <LOOP>
805 MAP69
806                     <INTGO>
807                     <EMPUU? TEMP56 + MAPAP72>
808                     <EMPUU? TEMP62 + MAPAP72>
809                     <SET B63 TEMP56>
810                     <SET OB64 TEMP62>
811                     <NTHUU B63 1 = B63 (TYPE FIX)>
812                     <PUTUU OB64 1 B63>
813                     <DEAD OB64 B63>
814                     <ADD TEMP19 1 = TEMP19 (TYPE FIX)>
815                     <LESS? TEMP19 TEMP18 - MAPAP72 (TYPE FIX)>
816                     <RESTUU TEMP56 1 = TEMP56 (TYPE UVECTOR)>
817                     <RESTUU TEMP62 1 = TEMP62 (TYPE UVECTOR)>
818                     <JUMP + MAP69>
819 MAPAP72
820                     <FRAME '\1aREST>
821                     <PUSH BUF8>
822                     <DEAD BUF8>
823                     <PUSH TEMP18>
824                     <CALL '\1aREST 2 = BUF8>
825                     <FRAME '\1aREST>
826                     <PUSH OBUF12>
827                     <DEAD OBUF12>
828                     <PUSH TEMP18>
829                     <CALL '\1aREST 2 = OBUF12>
830                     <PUTUV DATA10 7 OBUF12>
831                     <NTHUV DATA10 8 = TEMP19 (TYPE FIX)>
832                     <ADD TEMP19 TEMP18 = TEMP19 (TYPE FIX)>
833                     <PUTUV DATA10 8 TEMP19 (TYPE FIX)>
834                     <DEAD TEMP19>
835                     <ADD JFN11 TEMP18 = JFN11 (TYPE FIX)>
836                     <SUB LEN9 TEMP18 = LEN9 (TYPE FIX)>
837                     <DEAD TEMP18>
838                     <JUMP + AGAIN40>
839                     <END \1aTWAY-WRITE-BUFFER>
840
841 \\f
842
843 #WORD *31337272267*
844                     <GFCN \1aTWAY-CLOSE ("VALUE" <OR TWAY-BASE TTY-CHANNEL> CHANNEL ANY) CHANNEL4 OPER5>
845                     <TEMP DATA6 TEMP9 TEMP15>
846                     <INTGO>
847                     <NTHUV CHANNEL4 5 = DATA6>
848                     <DEAD CHANNEL4>
849                     <NTHUV DATA6 6 = TEMP9>
850                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE8>
851                     <DEAD TEMP9>
852                     <NTHUV DATA6 7 = TEMP9>
853                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE11>
854                     <DEAD TEMP9>
855                     <FRAME '\1aDUMP-WRITE-BUFFER>
856                     <PUSH DATA6>
857                     <CALL '\1aDUMP-WRITE-BUFFER 1>
858 PHRASE11
859                     <NTHUV DATA6 6 = TEMP9>
860                     <SYSOP 'CLOSF TEMP9>
861                     <DEAD TEMP9>
862 PHRASE8
863                     <NTHUV DATA6 1 = TEMP9 (TYPE FIX)>
864                     <NTHUV DATA6 6 = TEMP15>
865                     <EQUAL? TEMP9 TEMP15 + PHRASE14>
866                     <DEAD TEMP9 TEMP15>
867                     <NTHUV DATA6 1 = TEMP15 (TYPE FIX)>
868                     <SYSOP 'CLOSF TEMP15>
869                     <DEAD TEMP15>
870 PHRASE14
871                     <PUTUV DATA6 6 -1>
872                     <PUTUV DATA6 1 -1 (TYPE FIX)>
873                     <RETURN DATA6>
874                     <DEAD DATA6>
875                     <END \1aTWAY-CLOSE>
876
877 #WORD *6164766334*
878                     <GFCN \1aTWAY-PRINT-DATA ("VALUE" ATOM CHANNEL ANY ANY) CHANNEL4 OPER5 OUTCHAN6>
879                     <TEMP DATA7 TEMP17>
880                     <INTGO>
881                     <NTHUV CHANNEL4 5 = DATA7>
882                     <DEAD CHANNEL4>
883                     <FRAME '\1aPRINC>
884                     <PUSH "#TWAY-CHANNEL [">
885                     <PUSH OUTCHAN6>
886                     <CALL '\1aPRINC 2>
887                     <FRAME '\1aPRINC>
888                     <PUSH "RJFN:">
889                     <PUSH OUTCHAN6>
890                     <CALL '\1aPRINC 2>
891                     <FRAME '\1aPRINC>
892                     <NTHUV DATA7 1 = STACK (TYPE FIX)>
893                     <PUSH OUTCHAN6>
894                     <CALL '\1aPRINC 2>
895                     <FRAME '\1aPRINC>
896                     <PUSH " MODE:">
897                     <PUSH OUTCHAN6>
898                     <CALL '\1aPRINC 2>
899                     <FRAME '\1aPRIN1>
900                     <NTHUV DATA7 2 = STACK (TYPE FIX)>
901                     <PUSH OUTCHAN6>
902                     <CALL '\1aPRIN1 2>
903                     <FRAME '\1aPRINC>
904                     <PUSH " BSZ:">
905                     <PUSH OUTCHAN6>
906                     <CALL '\1aPRINC 2>
907                     <FRAME '\1aPRIN1>
908                     <NTHUV DATA7 3 = STACK (TYPE FIX)>
909                     <PUSH OUTCHAN6>
910                     <CALL '\1aPRIN1 2>
911                     <NTHUV DATA7 4 = TEMP17>
912                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE16>
913                     <DEAD TEMP17>
914                     <FRAME '\1aPRINC>
915                     <PUSH " RBUF:">
916                     <PUSH OUTCHAN6>
917                     <CALL '\1aPRINC 2>
918                     <FRAME '\1aPRIN1>
919                     <NTHUV DATA7 5 = STACK (TYPE FIX)>
920                     <PUSH OUTCHAN6>
921                     <CALL '\1aPRIN1 2>
922                     <FRAME '\1aPRINC>
923                     <PUSH !\/>
924                     <PUSH OUTCHAN6>
925                     <CALL '\1aPRINC 2>
926                     <FRAME '\1aPRIN1>
927                     <FRAME '\1aLENGTH>
928                     <NTHUV DATA7 4 = TEMP17>
929                     <TOPU TEMP17 = STACK>
930                     <DEAD TEMP17>
931                     <CALL '\1aLENGTH 1 = STACK>
932                     <PUSH OUTCHAN6>
933                     <CALL '\1aPRIN1 2>
934 PHRASE16
935                     <NTHUV DATA7 6 = TEMP17>
936                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE28>
937                     <DEAD TEMP17>
938                     <FRAME '\1aPRINC>
939                     <PUSH " WJFN:">
940                     <PUSH OUTCHAN6>
941                     <CALL '\1aPRINC 2>
942                     <FRAME '\1aPRINC>
943                     <NTHUV DATA7 6 = STACK>
944                     <PUSH OUTCHAN6>
945                     <CALL '\1aPRINC 2>
946                     <NTHUV DATA7 7 = TEMP17>
947                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE28>
948                     <DEAD TEMP17>
949                     <FRAME '\1aPRINC>
950                     <PUSH " WBUF:">
951                     <PUSH OUTCHAN6>
952                     <CALL '\1aPRINC 2>
953                     <FRAME '\1aPRIN1>
954                     <NTHUV DATA7 8 = STACK (TYPE FIX)>
955                     <PUSH OUTCHAN6>
956                     <CALL '\1aPRIN1 2>
957                     <FRAME '\1aPRINC>
958                     <PUSH !\/>
959                     <PUSH OUTCHAN6>
960                     <CALL '\1aPRINC 2>
961                     <FRAME '\1aPRIN1>
962                     <FRAME '\1aLENGTH>
963                     <NTHUV DATA7 7 = TEMP17>
964                     <DEAD DATA7>
965                     <TOPU TEMP17 = STACK>
966                     <DEAD TEMP17>
967                     <CALL '\1aLENGTH 1 = STACK>
968                     <PUSH OUTCHAN6>
969                     <CALL '\1aPRIN1 2>
970 PHRASE28
971                     <FRAME '\1aPRINC>
972                     <PUSH !\]>
973                     <PUSH OUTCHAN6>
974                     <DEAD OUTCHAN6>
975                     <CALL '\1aPRINC 2>
976                     <RETURN 'T>
977                     <END \1aTWAY-PRINT-DATA>
978
979 <ENDPACKAGE>