Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / 20 / tway.mima
diff --git a/mim/development/mim/20/tway.mima b/mim/development/mim/20/tway.mima
new file mode 100644 (file)
index 0000000..11445fe
--- /dev/null
@@ -0,0 +1,979 @@
+
+<PACKAGE "TWAY">
+
+<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>
+
+<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>
+
+<SETG TS-RJFN %<OFFSET 1 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-RJFN>
+
+<SETG TS-MODE %<OFFSET 2 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-MODE>
+
+<SETG TS-BSZ %<OFFSET 3 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-BSZ>
+
+<SETG TS-RBUF %<OFFSET 4 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-RBUF>
+
+<SETG TS-RBC %<OFFSET 5 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-RBC>
+
+<SETG TS-WJFN %<OFFSET 6 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-WJFN>
+
+<SETG TS-WBUF %<OFFSET 7 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-WBUF>
+
+<SETG TS-WBC %<OFFSET 8 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-WBC>
+
+<SETG TS-EXTRA %<OFFSET 9 '<OR TTY-CHANNEL TWAY-BASE>>>
+
+<MANIFEST TS-EXTRA>
+
+<SETG TB-RJFN %<OFFSET 1 TWAY-BASE FIX>>
+
+<MANIFEST TB-RJFN>
+
+<SETG TB-MODE %<OFFSET 2 TWAY-BASE FIX>>
+
+<MANIFEST TB-MODE>
+
+<SETG TB-BSZ %<OFFSET 3 TWAY-BASE FIX>>
+
+<MANIFEST TB-BSZ>
+
+<SETG TB-RBUF %<OFFSET 4 TWAY-BASE '<OR FALSE STRING UVECTOR>>>
+
+<MANIFEST TB-RBUF>
+
+<SETG TB-RBC %<OFFSET 5 TWAY-BASE FIX>>
+
+<MANIFEST TB-RBC>
+
+<SETG TB-WJFN %<OFFSET 6 TWAY-BASE '<OR FIX FALSE>>>
+
+<MANIFEST TB-WJFN>
+
+<SETG TB-WBUF %<OFFSET 7 TWAY-BASE '<OR FALSE STRING UVECTOR>>>
+
+<MANIFEST TB-WBUF>
+
+<SETG TB-WBC %<OFFSET 8 TWAY-BASE FIX>>
+
+<MANIFEST TB-WBC>
+
+<NEWTYPE TWAY-BASE VECTOR '<<PRIMTYPE VECTOR> FIX FIX FIX <OR FALSE STRING UVECTOR> FIX <OR FIX FALSE> <OR FALSE STRING UVECTOR> FIX>>
+
+<SETG BUFFERED <UVECTOR 0 2 7 13 14>>
+
+<GDECL (BUFFERED) <UVECTOR [REST FIX]>>
+
+#WORD *22567133655*
+                   <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>
+                   <OPT-DISPATCH 4 %<> OPT4 OPT5 OPT6 OPT7>
+OPT4
+                   <PUSH "ASCII">
+OPT5
+                   <PUSH 1>
+OPT6
+                   <PUSH 1>
+OPT7
+                   <TEMP (NEW?15 %<>) (WRITE?20 %<>) (BUF?21 %<>) TEMP24 TEMP25 TEMP26 TEMP27 TEMP28 MODE16:FIX BSZ19:FIX>
+                   <INTGO>
+                   <IFCAN "STRING-EQUAL?">
+                   <STRING-EQUAL? MODS11 "READ" - PHRASE23>
+                   <ENDIF "STRING-EQUAL?">
+                   <IFCANNOT "STRING-EQUAL?">
+                   <SET TEMP24 MODS11>
+                   <SET TEMP25 "READ" (TYPE STRING)>
+                   <LENUS TEMP24 = TEMP26 (TYPE FIX)>
+                   <VEQUAL? TEMP26 4 - PHRASE23>
+                   <LOOP (TEMP24 VALUE LENGTH) (TEMP25 VALUE LENGTH) (TEMP26 VALUE)>
+TAG29
+                   <NTHUS TEMP24 1 = TEMP27>
+                   <NTHUS TEMP25 1 = TEMP28>
+                   <VEQUAL? TEMP27 TEMP28 - PHRASE23>
+                   <DEAD TEMP27 TEMP28>
+                   <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
+                   <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
+                   <SUB TEMP26 1 = TEMP26 (TYPE FIX)>
+                   <GRTR? TEMP26 0 + TAG29 (TYPE FIX)>
+                   <ENDIF "STRING-EQUAL?">
+                   <SET MODE16 81952 (TYPE FIX)>
+                   <JUMP + PHRASE36>
+PHRASE23
+                   <IFCAN "STRING-EQUAL?">
+                   <STRING-EQUAL? MODS11 "CREATE" - PHRASE30>
+                   <ENDIF "STRING-EQUAL?">
+                   <IFCANNOT "STRING-EQUAL?">
+                   <SET TEMP25 MODS11>
+                   <SET TEMP24 "CREATE" (TYPE STRING)>
+                   <LENUS TEMP25 = TEMP28 (TYPE FIX)>
+                   <VEQUAL? TEMP28 6 - PHRASE30>
+                   <LOOP (TEMP25 VALUE LENGTH) (TEMP24 VALUE LENGTH) (TEMP28 VALUE)>
+TAG32
+                   <NTHUS TEMP25 1 = TEMP27>
+                   <NTHUS TEMP24 1 = TEMP26>
+                   <VEQUAL? TEMP27 TEMP26 - PHRASE30>
+                   <DEAD TEMP27 TEMP26>
+                   <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
+                   <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
+                   <SUB TEMP28 1 = TEMP28 (TYPE FIX)>
+                   <GRTR? TEMP28 0 + TAG32 (TYPE FIX)>
+                   <ENDIF "STRING-EQUAL?">
+                   <SET NEW?15 'T (TYPE ATOM)>
+                   <SET WRITE?20 'T (TYPE ATOM)>
+                   <SET MODE16 114720 (TYPE FIX)>
+                   <JUMP + PHRASE36>
+PHRASE30
+                   <IFCAN "STRING-EQUAL?">
+                   <STRING-EQUAL? MODS11 "MODIFY" - PHRASE33>
+                   <ENDIF "STRING-EQUAL?">
+                   <IFCANNOT "STRING-EQUAL?">
+                   <SET TEMP24 MODS11>
+                   <SET TEMP25 "MODIFY" (TYPE STRING)>
+                   <LENUS TEMP24 = TEMP26 (TYPE FIX)>
+                   <VEQUAL? TEMP26 6 - PHRASE33>
+                   <LOOP (TEMP24 VALUE LENGTH) (TEMP25 VALUE LENGTH) (TEMP26 VALUE)>
+TAG35
+                   <NTHUS TEMP24 1 = TEMP27>
+                   <NTHUS TEMP25 1 = TEMP28>
+                   <VEQUAL? TEMP27 TEMP28 - PHRASE33>
+                   <DEAD TEMP27 TEMP28>
+                   <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
+                   <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
+                   <SUB TEMP26 1 = TEMP26 (TYPE FIX)>
+                   <GRTR? TEMP26 0 + TAG35 (TYPE FIX)>
+                   <ENDIF "STRING-EQUAL?">
+                   <SET WRITE?20 'T (TYPE ATOM)>
+                   <SET MODE16 114720 (TYPE FIX)>
+                   <JUMP + PHRASE36>
+PHRASE33
+                   <FRAME '\1aERROR>
+                   <PUSH 'ILLEGAL-MODE>
+                   <PUSH MODS11>
+                   <DEAD MODS11>
+                   <PUSH 'TWAY-OPEN>
+                   <CALL '\1aERROR 3>
+PHRASE36
+                   <IFCAN "STRING-EQUAL?">
+                   <STRING-EQUAL? BYTES12 "ASCII" - PHRASE39>
+                   <ENDIF "STRING-EQUAL?">
+                   <IFCANNOT "STRING-EQUAL?">
+                   <SET TEMP25 BYTES12>
+                   <SET TEMP24 "ASCII" (TYPE STRING)>
+                   <LENUS TEMP25 = TEMP28 (TYPE FIX)>
+                   <VEQUAL? TEMP28 5 - PHRASE39>
+                   <LOOP (TEMP25 VALUE LENGTH) (TEMP24 VALUE LENGTH) (TEMP28 VALUE)>
+TAG41
+                   <NTHUS TEMP25 1 = TEMP27>
+                   <NTHUS TEMP24 1 = TEMP26>
+                   <VEQUAL? TEMP27 TEMP26 - PHRASE39>
+                   <DEAD TEMP27 TEMP26>
+                   <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
+                   <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
+                   <SUB TEMP28 1 = TEMP28 (TYPE FIX)>
+                   <GRTR? TEMP28 0 + TAG41 (TYPE FIX)>
+                   <ENDIF "STRING-EQUAL?">
+                   <SET BSZ19 7 (TYPE FIX)>
+                   <JUMP + PHRASE45>
+PHRASE39
+                   <IFCAN "STRING-EQUAL?">
+                   <STRING-EQUAL? BYTES12 "BINARY" - PHRASE42>
+                   <ENDIF "STRING-EQUAL?">
+                   <IFCANNOT "STRING-EQUAL?">
+                   <SET TEMP24 BYTES12>
+                   <SET TEMP25 "BINARY" (TYPE STRING)>
+                   <LENUS TEMP24 = TEMP26 (TYPE FIX)>
+                   <VEQUAL? TEMP26 6 - PHRASE42>
+                   <LOOP (TEMP24 VALUE LENGTH) (TEMP25 VALUE LENGTH) (TEMP26 VALUE)>
+TAG44
+                   <NTHUS TEMP24 1 = TEMP27>
+                   <NTHUS TEMP25 1 = TEMP28>
+                   <VEQUAL? TEMP27 TEMP28 - PHRASE42>
+                   <DEAD TEMP27 TEMP28>
+                   <RESTUS TEMP24 1 = TEMP24 (TYPE STRING)>
+                   <RESTUS TEMP25 1 = TEMP25 (TYPE STRING)>
+                   <SUB TEMP26 1 = TEMP26 (TYPE FIX)>
+                   <GRTR? TEMP26 0 + TAG44 (TYPE FIX)>
+                   <ENDIF "STRING-EQUAL?">
+                   <SET BSZ19 36 (TYPE FIX)>
+                   <JUMP + PHRASE45>
+PHRASE42
+                   <FRAME '\1aERROR>
+                   <PUSH 'ILLEGAL-BYTE-SIZE>
+                   <PUSH BYTES12>
+                   <DEAD BYTES12>
+                   <PUSH 'TWAY-OPEN>
+                   <CALL '\1aERROR 3>
+PHRASE45
+                   <FRAME '\1aGET-JFN>
+                   <PUSH NAME10>
+                   <DEAD NAME10>
+                   <PUSH MODE16>
+                   <PUSH BSZ19>
+                   <PUSH NEW?15>
+                   <DEAD NEW?15>
+                   <CALL '\1aGET-JFN 4 = NEW?15>
+                   <SET TEMP25 NEW?15>
+                   <TYPE? TEMP25 <TYPE-CODE FALSE> + PHRASE48>
+                   <TYPE? IBUF?14 <TYPE-CODE FIX> + BOOL52>
+                   <TYPE? OBUF?13 <TYPE-CODE FIX> - PHRASE62>
+BOOL52
+                   <FRAME '\1aGET-DEVICE-TYPE>
+                   <PUSH NEW?15>
+                   <CALL '\1aGET-DEVICE-TYPE 1 = TEMP24>
+                   <GVAL 'BUFFERED = TEMP28>
+                   <TYPE? TEMP24 <TYPE-CODE FIX> - PHRASE54>
+                   <EMPUU? TEMP28 + PHRASE54>
+                   <LOOP (TEMP24 VALUE) (TEMP28 LENGTH VALUE)>
+TAG56
+                   <NTHUU TEMP28 1 = TEMP27>
+                   <VEQUAL? TEMP27 TEMP24 + TAG55>
+                   <DEAD TEMP27>
+                   <RESTUU TEMP28 1 = TEMP28 (TYPE UVECTOR)>
+                   <EMPUU? TEMP28 - TAG56>
+                   <JUMP + PHRASE54>
+TAG55
+                   <SET BUF?21 'T (TYPE ATOM)>
+PHRASE54
+                   <TYPE? IBUF?14 <TYPE-CODE FIX> - PHRASE60>
+                   <SET IBUF?14 BUF?21>
+PHRASE60
+                   <TYPE? OBUF?13 <TYPE-CODE FIX> - PHRASE62>
+                   <SET OBUF?13 BUF?21>
+                   <DEAD BUF?21>
+PHRASE62
+                   <PUSH NEW?15>
+                   <PUSH MODE16>
+                   <DEAD MODE16>
+                   <PUSH BSZ19>
+                   <SET TEMP28 IBUF?14>
+                   <DEAD IBUF?14>
+                   <TYPE? TEMP28 <TYPE-CODE FALSE> + PHRASE65>
+                   <FRAME '\1aMAKE-BUFFER>
+                   <PUSH BSZ19>
+                   <CALL '\1aMAKE-BUFFER 1 = TEMP28>
+PHRASE65
+                   <PUSH TEMP28>
+                   <DEAD TEMP28>
+                   <PUSH 0>
+                   <SET TEMP28 WRITE?20>
+                   <VEQUAL? TEMP28 0 + PHRASE68>
+                   <SET TEMP28 NEW?15>
+                   <DEAD NEW?15>
+PHRASE68
+                   <PUSH TEMP28>
+                   <DEAD TEMP28>
+                   <SET TEMP28 WRITE?20>
+                   <DEAD WRITE?20>
+                   <VEQUAL? TEMP28 0 + PHRASE70>
+                   <SET TEMP28 OBUF?13>
+                   <DEAD OBUF?13>
+                   <TYPE? TEMP28 <TYPE-CODE FALSE> + PHRASE70>
+                   <FRAME '\1aMAKE-BUFFER>
+                   <PUSH BSZ19>
+                   <DEAD BSZ19>
+                   <CALL '\1aMAKE-BUFFER 1 = TEMP28>
+PHRASE70
+                   <PUSH TEMP28>
+                   <DEAD TEMP28>
+                   <PUSH 0>
+                   <UBLOCK <TYPE-CODE VECTOR> 8 = TEMP28>
+                   <CHTYPE TEMP28 <TYPE-CODE TWAY-BASE> = TEMP25>
+                   <DEAD TEMP28>
+PHRASE48
+                   <RETURN TEMP25>
+                   <DEAD TEMP25>
+                   <END \1aTWAY-OPEN>
+
+#WORD *3203110410*
+                   <GFCN \1aMAKE-BUFFER ("VALUE" <OR STRING <UVECTOR [64 FIX] [REST FIX]>> FIX) BSZ4>
+                   <TEMP TEMP7>
+                   <INTGO>
+                   <VEQUAL? BSZ4 7 - PHRASE6 (TYPE FIX)>
+                   <DEAD BSZ4>
+                   <UUBLOCK <TYPE-CODE STRING> 320 = TEMP7 (TYPE STRING)>
+                   <RETURN TEMP7>
+                   <DEAD TEMP7>
+PHRASE6
+                   <UUBLOCK <TYPE-CODE UVECTOR> 64 = TEMP7 (TYPE UVECTOR)>
+                   <RETURN TEMP7>
+                   <DEAD TEMP7>
+                   <END \1aMAKE-BUFFER>
+
+\\f
+
+#WORD *17063213705*
+                   <GFCN \1aTWAY-READ-BYTE ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP DATA6 IBUF7 TEMP14 TEMP22>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA6>
+                   <NTHUV DATA6 4 = IBUF7>
+                   <TYPE? IBUF7 <TYPE-CODE FALSE> + PHRASE11>
+                   <NTHUV DATA6 5 = TEMP14 (TYPE FIX)>
+                   <VEQUAL? TEMP14 0 - PHRASE13 (TYPE FIX)>
+                   <DEAD TEMP14>
+                   <FRAME '\1aFCHANNEL-OP>
+                   <PUSH CHANNEL4>
+                   <DEAD CHANNEL4>
+                   <PUSH 'FILL-READ-BUFFER>
+                   <CALL '\1aFCHANNEL-OP 2 = TEMP14>
+                   <TYPE? TEMP14 <TYPE-CODE FALSE> - PHRASE18>
+                   <RETURN TEMP14>
+                   <DEAD TEMP14>
+PHRASE18
+                   <NTHUV DATA6 4 = IBUF7>
+PHRASE13
+                   <NTHUV DATA6 5 = TEMP22 (TYPE FIX)>
+                   <VEQUAL? TEMP22 0 - PHRASE21 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <SET TEMP22 %<> (TYPE FALSE)>
+                   <JUMP + COND30>
+PHRASE21
+                   <NTH1 IBUF7 = TEMP14>
+                   <NTHUV DATA6 5 = TEMP22 (TYPE FIX)>
+                   <SUB TEMP22 1 = TEMP22 (TYPE FIX)>
+                   <PUTUV DATA6 5 TEMP22 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <REST1 IBUF7 = TEMP22>
+                   <DEAD IBUF7>
+                   <PUTUV DATA6 4 TEMP22>
+                   <DEAD DATA6 TEMP22>
+                   <SET TEMP22 TEMP14>
+                   <DEAD TEMP14>
+                   <JUMP + COND30>
+PHRASE11
+                   <NTHUV DATA6 1 = TEMP22 (TYPE FIX)>
+                   <SYSOP 'BIN TEMP22 (RETURN 2) = TEMP14>
+                   <DEAD TEMP22>
+                   <SET TEMP22 TEMP14>
+                   <TYPE? TEMP22 <TYPE-CODE FALSE> + COND30>
+                   <NTHUV DATA6 3 = TEMP22 (TYPE FIX)>
+                   <DEAD DATA6>
+                   <VEQUAL? TEMP22 7 - PHRASE31 (TYPE FIX)>
+                   <DEAD TEMP22>
+                   <CHTYPE TEMP14 <TYPE-CODE CHARACTER> = TEMP22>
+                   <DEAD TEMP14>
+                   <JUMP + COND30>
+PHRASE31
+                   <SET TEMP22 TEMP14>
+                   <DEAD TEMP14>
+COND30
+                   <RETURN TEMP22>
+                   <DEAD TEMP22>
+                   <END \1aTWAY-READ-BYTE>
+
+#WORD *22327140570*
+                   <GFCN \1aTWAY-FILL-READ ("VALUE" <OR FALSE FIX> CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP DATA6 JFN7 TEMP11 BUF8 CT10:FIX>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA6>
+                   <DEAD CHANNEL4>
+                   <NTHUV DATA6 1 = JFN7 (TYPE FIX)>
+                   <NTHUV DATA6 4 = TEMP11>
+                   <TOPU TEMP11 = BUF8>
+                   <DEAD TEMP11>
+                   <FRAME '\1aLENGTH>
+                   <PUSH BUF8>
+                   <CALL '\1aLENGTH 1 = CT10>
+                   <SUB 0 CT10 = TEMP11 (TYPE FIX)>
+                   <SYSOP 'SIN-JSYS JFN7 BUF8 TEMP11 = JFN7>
+                   <DEAD TEMP11>
+                   <SET TEMP11 JFN7>
+                   <TYPE? TEMP11 <TYPE-CODE FALSE> + PHRASE13>
+                   <FRAME '\1aLENGTH>
+                   <PUSH JFN7>
+                   <DEAD JFN7>
+                   <CALL '\1aLENGTH 1 = TEMP11>
+                   <SUB CT10 TEMP11 = CT10 (TYPE FIX)>
+                   <DEAD TEMP11>
+                   <PUTUV DATA6 4 BUF8>
+                   <DEAD BUF8>
+                   <PUTUV DATA6 5 CT10 (TYPE FIX)>
+                   <DEAD DATA6>
+                   <SET TEMP11 CT10>
+                   <DEAD CT10>
+PHRASE13
+                   <RETURN TEMP11>
+                   <DEAD TEMP11>
+                   <END \1aTWAY-FILL-READ>
+
+#WORD *1015273036*
+                   <GFCN \1aTWAY-READ-BUFFER ("VALUE" <OR FALSE FIX> CHANNEL ANY <OR STRING UVECTOR> "OPTIONAL" FIX FIX) CHANNEL7 OPER8 BUF9 LEN10 CONT11>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <PUSH 0>
+OPT6
+                   <TEMP DATA12 IBUF13 TEMP18:FIX TEMP19 BC14:FIX TEMP28 CT47:FIX TEMP57 IB64 B65>
+                   <INTGO>
+                   <TYPE? LEN10 <TYPE-CODE UNBOUND> - TAG15>
+                   <FRAME '\1aLENGTH>
+                   <PUSH BUF9>
+                   <CALL '\1aLENGTH 1 = LEN10>
+TAG15
+                   <NTHUV CHANNEL7 5 = DATA12>
+                   <NTHUV DATA12 4 = IBUF13>
+                   <SET TEMP18 LEN10>
+                   <DEAD LEN10>
+                   <LENU BUF9 = TEMP19>
+                   <GRTR? TEMP18 TEMP19 - TAG20>
+                   <SET TEMP18 TEMP19 (TYPE FIX)>
+                   <DEAD TEMP19>
+TAG20
+                   <SET LEN10 TEMP18>
+                   <DEAD TEMP18>
+                   <TYPE? IBUF13 <TYPE-CODE FALSE> - PHRASE22>
+                   <NTHUV DATA12 1 = TEMP18 (TYPE FIX)>
+                   <DEAD DATA12>
+                   <FRAME '\1aREST>
+                   <PUSH BUF9>
+                   <DEAD BUF9>
+                   <PUSH CONT11>
+                   <CALL '\1aREST 2 = TEMP19>
+                   <SUB LEN10 CONT11 = BC14 (TYPE FIX)>
+                   <DEAD LEN10>
+                   <SUB 0 BC14 = TEMP28 (TYPE FIX)>
+                   <SYSOP 'SIN-JSYS TEMP18 TEMP19 TEMP28 = IBUF13>
+                   <DEAD TEMP18 TEMP19 TEMP28>
+                   <SET TEMP19 IBUF13>
+                   <TYPE? TEMP19 <TYPE-CODE FALSE> + EXIT37>
+                   <FRAME '\1aLENGTH>
+                   <PUSH IBUF13>
+                   <DEAD IBUF13>
+                   <CALL '\1aLENGTH 1 = TEMP28>
+                   <SUB BC14 TEMP28 = BC14 (TYPE FIX)>
+                   <DEAD TEMP28>
+                   <ADD CONT11 BC14 = TEMP19 (TYPE FIX)>
+                   <DEAD CONT11 BC14>
+                   <RETURN TEMP19>
+                   <DEAD TEMP19>
+PHRASE22
+                   <FRAME '\1aPRIMTYPE>
+                   <PUSH IBUF13>
+                   <CALL '\1aPRIMTYPE 1 = TEMP28>
+                   <FRAME '\1aPRIMTYPE>
+                   <PUSH BUF9>
+                   <CALL '\1aPRIMTYPE 1 = TEMP19>
+                   <VEQUAL? TEMP28 TEMP19 + PHRASE32>
+                   <DEAD TEMP28 TEMP19>
+                   <FRAME '\1aERROR>
+                   <PUSH 'WRONG-TYPE-BUFFER>
+                   <PUSH BUF9>
+                   <PUSH 'TWAY-READ-BUFFER>
+                   <CALL '\1aERROR 3>
+PHRASE32
+                   <FRAME '\1aREST>
+                   <PUSH BUF9>
+                   <DEAD BUF9>
+                   <PUSH CONT11>
+                   <CALL '\1aREST 2 = BUF9>
+                   <SUB LEN10 CONT11 = LEN10 (TYPE FIX)>
+                   <SET TEMP18 CONT11>
+                   <DEAD CONT11>
+                   <SET TEMP28 -1 (TYPE FIX)>
+                   <LOOP>
+AGAIN40
+                   <INTGO>
+                   <NTHUV DATA12 5 = BC14 (TYPE FIX)>
+                   <VEQUAL? BC14 0 + PHRASE42 (TYPE FIX)>
+                   <SET TEMP28 BC14>
+                   <GRTR? TEMP28 LEN10 - TAG45>
+                   <SET TEMP28 LEN10 (TYPE FIX)>
+TAG45
+                   <SET CT47 0 (TYPE FIX)>
+                   <TYPE? IBUF13 <TYPE-CODE STRING> - PHRASE50>
+                   <SET TEMP57 IBUF13 (TYPE STRING)>
+                   <CHTYPE BUF9 <TYPE-CODE STRING> = TEMP19>
+                   <LOOP>
+MAP52
+                   <INTGO>
+                   <EMPUS? TEMP57 + MAPAP74>
+                   <EMPUS? TEMP19 + MAPAP74>
+                   <SET IB64 TEMP57>
+                   <SET B65 TEMP19>
+                   <NTHUS IB64 1 = IB64 (TYPE CHARACTER)>
+                   <PUTUS B65 1 IB64>
+                   <DEAD B65 IB64>
+                   <ADD CT47 1 = CT47 (TYPE FIX)>
+                   <LESS? CT47 TEMP28 - MAPAP74 (TYPE FIX)>
+                   <RESTUS TEMP57 1 = TEMP57 (TYPE STRING)>
+                   <RESTUS TEMP19 1 = TEMP19 (TYPE STRING)>
+                   <JUMP + MAP52>
+PHRASE50
+                   <TYPE? IBUF13 <TYPE-CODE UVECTOR> - MAPAP74>
+                   <SET TEMP19 IBUF13 (TYPE UVECTOR)>
+                   <CHTYPE BUF9 <TYPE-CODE UVECTOR> = TEMP57>
+                   <LOOP>
+MAP71
+                   <INTGO>
+                   <EMPUU? TEMP19 + MAPAP74>
+                   <EMPUU? TEMP57 + MAPAP74>
+                   <SET IB64 TEMP19>
+                   <SET B65 TEMP57>
+                   <NTHUU IB64 1 = IB64 (TYPE FIX)>
+                   <PUTUU B65 1 IB64>
+                   <DEAD B65 IB64>
+                   <ADD CT47 1 = CT47 (TYPE FIX)>
+                   <LESS? CT47 TEMP28 - MAPAP74 (TYPE FIX)>
+                   <RESTUU TEMP19 1 = TEMP19 (TYPE UVECTOR)>
+                   <RESTUU TEMP57 1 = TEMP57 (TYPE UVECTOR)>
+                   <JUMP + MAP71>
+MAPAP74
+                   <FRAME '\1aREST>
+                   <PUSH BUF9>
+                   <DEAD BUF9>
+                   <PUSH TEMP28>
+                   <CALL '\1aREST 2 = BUF9>
+                   <ADD TEMP28 TEMP18 = TEMP18 (TYPE FIX)>
+                   <FRAME '\1aREST>
+                   <PUSH IBUF13>
+                   <DEAD IBUF13>
+                   <PUSH TEMP28>
+                   <CALL '\1aREST 2 = IBUF13>
+                   <PUTUV DATA12 4 IBUF13>
+                   <DEAD IBUF13>
+                   <SUB BC14 TEMP28 = IBUF13 (TYPE FIX)>
+                   <DEAD BC14>
+                   <PUTUV DATA12 5 IBUF13 (TYPE FIX)>
+                   <DEAD IBUF13>
+                   <SUB LEN10 TEMP28 = LEN10 (TYPE FIX)>
+PHRASE42
+                   <VEQUAL? LEN10 0 + BOOL87 (TYPE FIX)>
+                   <VEQUAL? TEMP28 0 - PHRASE86 (TYPE FIX)>
+BOOL87
+                   <RETURN TEMP18>
+                   <DEAD TEMP18>
+PHRASE86
+                   <FRAME '\1aFCHANNEL-OP>
+                   <PUSH CHANNEL7>
+                   <PUSH 'FILL-READ-BUFFER>
+                   <CALL '\1aFCHANNEL-OP 2 = IBUF13>
+                   <TYPE? IBUF13 <TYPE-CODE FALSE> + BOOL95>
+                   <DEAD IBUF13>
+                   <NTHUV DATA12 5 = IB64 (TYPE FIX)>
+                   <VEQUAL? IB64 0 - PHRASE94 (TYPE FIX)>
+                   <DEAD IB64>
+BOOL95
+                   <RETURN TEMP18>
+                   <DEAD TEMP18>
+PHRASE94
+                   <NTHUV DATA12 4 = IBUF13>
+                   <JUMP + AGAIN40>
+EXIT37
+                   <RETURN TEMP19>
+                   <DEAD TEMP19>
+                   <END \1aTWAY-READ-BUFFER>
+
+\\f
+
+#WORD *16451735261*
+                   <GFCN \1aTWAY-WRITE-BYTE ("VALUE" <OR CHARACTER FIX> CHANNEL ANY <OR CHARACTER FIX>) CHANNEL4 OPER5 BYTE6>
+                   <TEMP DATA7 JFN8 BUF9 TEMP15>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA7>
+                   <NTHUV DATA7 6 = JFN8>
+                   <NTHUV DATA7 7 = BUF9>
+                   <TYPE? JFN8 <TYPE-CODE FALSE> - PHRASE11>
+                   <FRAME '\1aERROR>
+                   <PUSH 'CHANNEL-NOT-OPEN-FOR-WRITING>
+                   <PUSH CHANNEL4>
+                   <DEAD CHANNEL4>
+                   <PUSH 'TWAY-WRITE-BYTE>
+                   <CALL '\1aERROR 3>
+PHRASE11
+                   <TYPE? BUF9 <TYPE-CODE FALSE> - PHRASE14>
+                   <CHTYPE BYTE6 <TYPE-CODE FIX> = TEMP15>
+                   <SYSOP 'BOUT JFN8 TEMP15 (RETURN 2)>
+                   <DEAD JFN8 TEMP15>
+                   <RETURN BYTE6>
+                   <DEAD BYTE6>
+PHRASE14
+                   <EMPTY? BUF9 - PHRASE18>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA7>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+                   <NTHUV DATA7 7 = BUF9>
+PHRASE18
+                   <FRAME '\1aPUT>
+                   <PUSH BUF9>
+                   <PUSH 1>
+                   <TYPE? BUF9 <TYPE-CODE UVECTOR> - PHRASE22>
+                   <CHTYPE BYTE6 <TYPE-CODE FIX> = TEMP15>
+                   <JUMP + COND21>
+PHRASE22
+                   <CHTYPE BYTE6 <TYPE-CODE CHARACTER> = TEMP15>
+COND21
+                   <PUSH TEMP15>
+                   <DEAD TEMP15>
+                   <CALL '\1aPUT 3>
+                   <REST1 BUF9 = TEMP15>
+                   <DEAD BUF9>
+                   <PUTUV DATA7 7 TEMP15>
+                   <DEAD TEMP15>
+                   <NTHUV DATA7 8 = TEMP15 (TYPE FIX)>
+                   <ADD TEMP15 1 = TEMP15 (TYPE FIX)>
+                   <PUTUV DATA7 8 TEMP15 (TYPE FIX)>
+                   <DEAD DATA7 TEMP15>
+                   <RETURN BYTE6>
+                   <DEAD BYTE6>
+                   <END \1aTWAY-WRITE-BYTE>
+
+#WORD *10753101511*
+                   <GFCN \1aDUMP-WRITE-BUFFER ("VALUE" <OR TWAY-BASE TTY-CHANNEL> <OR TWAY-BASE TTY-CHANNEL>) DATA4>
+                   <TEMP TEMP9 TEMP14 BUF6>
+                   <INTGO>
+                   <NTHUV DATA4 8 = TEMP9 (TYPE FIX)>
+                   <VEQUAL? TEMP9 0 + PHRASE13 (TYPE FIX)>
+                   <DEAD TEMP9>
+                   <NTHUV DATA4 6 = TEMP9>
+                   <NTHUV DATA4 7 = TEMP14>
+                   <TOPU TEMP14 = BUF6>
+                   <DEAD TEMP14>
+                   <NTHUV DATA4 8 = TEMP14 (TYPE FIX)>
+                   <SUB 0 TEMP14 = TEMP14 (TYPE FIX)>
+                   <SYSOP 'SOUT TEMP9 BUF6 TEMP14 = TEMP9>
+                   <DEAD BUF6 TEMP14>
+                   <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE13>
+                   <DEAD TEMP9>
+                   <PUTUV DATA4 8 0 (TYPE FIX)>
+PHRASE13
+                   <NTHUV DATA4 7 = TEMP14>
+                   <TOPU TEMP14 = TEMP14>
+                   <PUTUV DATA4 7 TEMP14>
+                   <DEAD TEMP14>
+                   <RETURN DATA4>
+                   <DEAD DATA4>
+                   <END \1aDUMP-WRITE-BUFFER>
+
+#WORD *34001565325*
+                   <GFCN \1aTWAY-BUFOUT ("VALUE" <OR ATOM FALSE> CHANNEL ANY "OPTIONAL" <OR ATOM FALSE>) CHANNEL6 OPER7 FORCE?8>
+                   <OPT-DISPATCH 2 %<> OPT4 OPT5>
+OPT4
+                   <PUSH 'T>
+OPT5
+                   <TEMP DATA9 JFN10 BC11:FIX BUF12 TEMP15>
+                   <INTGO>
+                   <NTHUV CHANNEL6 5 = DATA9>
+                   <DEAD CHANNEL6>
+                   <NTHUV DATA9 6 = JFN10>
+                   <NTHUV DATA9 8 = BC11 (TYPE FIX)>
+                   <NTHUV DATA9 7 = BUF12>
+                   <SET TEMP15 JFN10>
+                   <TYPE? TEMP15 <TYPE-CODE FALSE> + PHRASE14>
+                   <TYPE? BUF12 <TYPE-CODE FALSE> + PHRASE17>
+                   <DEAD BUF12>
+                   <VEQUAL? BC11 0 + PHRASE17 (TYPE FIX)>
+                   <DEAD BC11>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA9>
+                   <DEAD DATA9>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE17
+                   <TYPE? FORCE?8 <TYPE-CODE FALSE> + PHRASE23>
+                   <DEAD FORCE?8>
+                   <SYSOP 'DOBE JFN10>
+                   <DEAD JFN10>
+PHRASE23
+                   <SET TEMP15 'T (TYPE ATOM)>
+PHRASE14
+                   <RETURN TEMP15>
+                   <DEAD TEMP15>
+                   <END \1aTWAY-BUFOUT>
+
+#WORD *35064222207*
+                   <GFCN \1aTWAY-WRITE-BUFFER ("VALUE" <OR FALSE FIX> CHANNEL ANY <OR STRING BYTES UVECTOR> "OPTIONAL" FIX) CHANNEL6 OPER7 BUF8 LEN9>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <TEMP DATA10 JFN11 OBUF12 TEMP18:FIX TEMP19 TEMP56 TEMP62 B63 OB64>
+                   <INTGO>
+                   <TYPE? LEN9 <TYPE-CODE UNBOUND> - TAG13>
+                   <LENU BUF8 = LEN9>
+TAG13
+                   <NTHUV CHANNEL6 5 = DATA10>
+                   <NTHUV DATA10 6 = JFN11>
+                   <NTHUV DATA10 7 = OBUF12>
+                   <TYPE? JFN11 <TYPE-CODE FALSE> - PHRASE16>
+                   <FRAME '\1aERROR>
+                   <PUSH 'CHANNEL-NOT-OPEN-FOR-WRITING>
+                   <PUSH CHANNEL6>
+                   <DEAD CHANNEL6>
+                   <PUSH 'TWAY-WRITE-BUFFER>
+                   <CALL '\1aERROR 3>
+PHRASE16
+                   <SET TEMP18 LEN9>
+                   <DEAD LEN9>
+                   <LENU BUF8 = TEMP19>
+                   <GRTR? TEMP18 TEMP19 - TAG20>
+                   <SET TEMP18 TEMP19 (TYPE FIX)>
+                   <DEAD TEMP19>
+TAG20
+                   <SET LEN9 TEMP18>
+                   <DEAD TEMP18>
+                   <TYPE? OBUF12 <TYPE-CODE FALSE> + BOOL23>
+                   <TYPE OBUF12 = TEMP19>
+                   <AND TEMP19 #WORD *7* = TEMP19>
+                   <TYPE BUF8 = TEMP18>
+                   <AND TEMP18 #WORD *7* = TEMP18>
+                   <VEQUAL? TEMP19 TEMP18 + PHRASE22 (TYPE FIX)>
+                   <DEAD TEMP19 TEMP18>
+BOOL23
+                   <TYPE? OBUF12 <TYPE-CODE FALSE> + PHRASE26>
+                   <DEAD OBUF12>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA10>
+                   <DEAD DATA10>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE26
+                   <GRTR? LEN9 0 - PHRASE29 (TYPE FIX)>
+                   <SUB 0 LEN9 = TEMP18 (TYPE FIX)>
+                   <DEAD LEN9>
+                   <SYSOP 'SOUT JFN11 BUF8 TEMP18 = OBUF12>
+                   <DEAD JFN11 TEMP18>
+                   <SET TEMP19 OBUF12>
+                   <TYPE? TEMP19 <TYPE-CODE FALSE> + COND28>
+                   <LENU BUF8 = TEMP18>
+                   <DEAD BUF8>
+                   <LENU OBUF12 = JFN11>
+                   <DEAD OBUF12>
+                   <SUB TEMP18 JFN11 = TEMP19 (TYPE FIX)>
+                   <DEAD TEMP18 JFN11>
+                   <RETURN TEMP19>
+                   <DEAD TEMP19>
+PHRASE29
+                   <SET TEMP19 0 (TYPE FIX)>
+COND28
+                   <RETURN TEMP19>
+                   <DEAD TEMP19>
+PHRASE22
+                   <SET JFN11 0 (TYPE FIX)>
+                   <LOOP>
+AGAIN40
+                   <INTGO>
+                   <VEQUAL? LEN9 0 - PHRASE42 (TYPE FIX)>
+                   <RETURN JFN11>
+                   <DEAD JFN11>
+PHRASE42
+                   <EMPTY? OBUF12 - PHRASE45>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA10>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+                   <NTHUV DATA10 7 = OBUF12>
+PHRASE45
+                   <SET TEMP19 0 (TYPE FIX)>
+                   <LENU OBUF12 = TEMP18>
+                   <GRTR? TEMP18 LEN9 - TAG47>
+                   <SET TEMP18 LEN9 (TYPE FIX)>
+TAG47
+                   <TYPE? BUF8 <TYPE-CODE STRING> - PHRASE49>
+                   <SET TEMP56 BUF8 (TYPE STRING)>
+                   <CHTYPE OBUF12 <TYPE-CODE STRING> = TEMP62>
+                   <LOOP>
+MAP51
+                   <INTGO>
+                   <EMPUS? TEMP56 + MAPAP72>
+                   <EMPUS? TEMP62 + MAPAP72>
+                   <SET B63 TEMP56>
+                   <SET OB64 TEMP62>
+                   <NTHUS B63 1 = B63 (TYPE CHARACTER)>
+                   <PUTUS OB64 1 B63>
+                   <DEAD OB64 B63>
+                   <ADD TEMP19 1 = TEMP19 (TYPE FIX)>
+                   <LESS? TEMP19 TEMP18 - MAPAP72 (TYPE FIX)>
+                   <RESTUS TEMP56 1 = TEMP56 (TYPE STRING)>
+                   <RESTUS TEMP62 1 = TEMP62 (TYPE STRING)>
+                   <JUMP + MAP51>
+PHRASE49
+                   <CHTYPE BUF8 <TYPE-CODE UVECTOR> = TEMP56>
+                   <CHTYPE OBUF12 <TYPE-CODE UVECTOR> = TEMP62>
+                   <LOOP>
+MAP69
+                   <INTGO>
+                   <EMPUU? TEMP56 + MAPAP72>
+                   <EMPUU? TEMP62 + MAPAP72>
+                   <SET B63 TEMP56>
+                   <SET OB64 TEMP62>
+                   <NTHUU B63 1 = B63 (TYPE FIX)>
+                   <PUTUU OB64 1 B63>
+                   <DEAD OB64 B63>
+                   <ADD TEMP19 1 = TEMP19 (TYPE FIX)>
+                   <LESS? TEMP19 TEMP18 - MAPAP72 (TYPE FIX)>
+                   <RESTUU TEMP56 1 = TEMP56 (TYPE UVECTOR)>
+                   <RESTUU TEMP62 1 = TEMP62 (TYPE UVECTOR)>
+                   <JUMP + MAP69>
+MAPAP72
+                   <FRAME '\1aREST>
+                   <PUSH BUF8>
+                   <DEAD BUF8>
+                   <PUSH TEMP18>
+                   <CALL '\1aREST 2 = BUF8>
+                   <FRAME '\1aREST>
+                   <PUSH OBUF12>
+                   <DEAD OBUF12>
+                   <PUSH TEMP18>
+                   <CALL '\1aREST 2 = OBUF12>
+                   <PUTUV DATA10 7 OBUF12>
+                   <NTHUV DATA10 8 = TEMP19 (TYPE FIX)>
+                   <ADD TEMP19 TEMP18 = TEMP19 (TYPE FIX)>
+                   <PUTUV DATA10 8 TEMP19 (TYPE FIX)>
+                   <DEAD TEMP19>
+                   <ADD JFN11 TEMP18 = JFN11 (TYPE FIX)>
+                   <SUB LEN9 TEMP18 = LEN9 (TYPE FIX)>
+                   <DEAD TEMP18>
+                   <JUMP + AGAIN40>
+                   <END \1aTWAY-WRITE-BUFFER>
+
+\\f
+
+#WORD *31337272267*
+                   <GFCN \1aTWAY-CLOSE ("VALUE" <OR TWAY-BASE TTY-CHANNEL> CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP DATA6 TEMP9 TEMP15>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA6>
+                   <DEAD CHANNEL4>
+                   <NTHUV DATA6 6 = TEMP9>
+                   <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE8>
+                   <DEAD TEMP9>
+                   <NTHUV DATA6 7 = TEMP9>
+                   <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE11>
+                   <DEAD TEMP9>
+                   <FRAME '\1aDUMP-WRITE-BUFFER>
+                   <PUSH DATA6>
+                   <CALL '\1aDUMP-WRITE-BUFFER 1>
+PHRASE11
+                   <NTHUV DATA6 6 = TEMP9>
+                   <SYSOP 'CLOSF TEMP9>
+                   <DEAD TEMP9>
+PHRASE8
+                   <NTHUV DATA6 1 = TEMP9 (TYPE FIX)>
+                   <NTHUV DATA6 6 = TEMP15>
+                   <EQUAL? TEMP9 TEMP15 + PHRASE14>
+                   <DEAD TEMP9 TEMP15>
+                   <NTHUV DATA6 1 = TEMP15 (TYPE FIX)>
+                   <SYSOP 'CLOSF TEMP15>
+                   <DEAD TEMP15>
+PHRASE14
+                   <PUTUV DATA6 6 -1>
+                   <PUTUV DATA6 1 -1 (TYPE FIX)>
+                   <RETURN DATA6>
+                   <DEAD DATA6>
+                   <END \1aTWAY-CLOSE>
+
+#WORD *6164766334*
+                   <GFCN \1aTWAY-PRINT-DATA ("VALUE" ATOM CHANNEL ANY ANY) CHANNEL4 OPER5 OUTCHAN6>
+                   <TEMP DATA7 TEMP17>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = DATA7>
+                   <DEAD CHANNEL4>
+                   <FRAME '\1aPRINC>
+                   <PUSH "#TWAY-CHANNEL [">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH "RJFN:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRINC>
+                   <NTHUV DATA7 1 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH " MODE:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 2 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH " BSZ:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 3 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <NTHUV DATA7 4 = TEMP17>
+                   <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE16>
+                   <DEAD TEMP17>
+                   <FRAME '\1aPRINC>
+                   <PUSH " RBUF:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 5 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\/>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <FRAME '\1aLENGTH>
+                   <NTHUV DATA7 4 = TEMP17>
+                   <TOPU TEMP17 = STACK>
+                   <DEAD TEMP17>
+                   <CALL '\1aLENGTH 1 = STACK>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+PHRASE16
+                   <NTHUV DATA7 6 = TEMP17>
+                   <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE28>
+                   <DEAD TEMP17>
+                   <FRAME '\1aPRINC>
+                   <PUSH " WJFN:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRINC>
+                   <NTHUV DATA7 6 = STACK>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <NTHUV DATA7 7 = TEMP17>
+                   <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE28>
+                   <DEAD TEMP17>
+                   <FRAME '\1aPRINC>
+                   <PUSH " WBUF:">
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <NTHUV DATA7 8 = STACK (TYPE FIX)>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+                   <FRAME '\1aPRINC>
+                   <PUSH !\/>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <FRAME '\1aPRIN1>
+                   <FRAME '\1aLENGTH>
+                   <NTHUV DATA7 7 = TEMP17>
+                   <DEAD DATA7>
+                   <TOPU TEMP17 = STACK>
+                   <DEAD TEMP17>
+                   <CALL '\1aLENGTH 1 = STACK>
+                   <PUSH OUTCHAN6>
+                   <CALL '\1aPRIN1 2>
+PHRASE28
+                   <FRAME '\1aPRINC>
+                   <PUSH !\]>
+                   <PUSH OUTCHAN6>
+                   <DEAD OUTCHAN6>
+                   <CALL '\1aPRINC 2>
+                   <RETURN 'T>
+                   <END \1aTWAY-PRINT-DATA>
+
+<ENDPACKAGE>