Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / 20 / misc-io.mima
diff --git a/mim/development/mim/20/misc-io.mima b/mim/development/mim/20/misc-io.mima
new file mode 100644 (file)
index 0000000..2e41c58
--- /dev/null
@@ -0,0 +1,149 @@
+
+<PACKAGE "MISC-IO">
+
+<ENTRY GNJFN NEXT-FILE>
+
+<COND (<NOT <GASSIGNED? NEW-CHANNEL-TYPE>> <SETG NEW-CHANNEL-TYPE ,TIME>)>
+
+<NEW-CHANNEL-TYPE GNJFN DEFAULT OPEN GNJFN-OPEN CLOSE GNJFN-CLOSE NEXT-FILE GNJFN-STEP>
+
+#WORD *17574451615*
+                   <GFCN \1aGNJFN-OPEN ("VALUE" <OR FALSE <VECTOR FIX <PRIMTYPE WORD>>> ANY ANY STRING) STYPE4 OPR5 NAME6>
+                   <TEMP JFN7 TEMP10>
+                   <INTGO>
+                   <SYSOP 'GTJFN-S-S 8611168256 NAME6 = JFN7>
+                   <DEAD NAME6>
+                   <SET TEMP10 JFN7>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE9>
+                   <AND JFN7 #WORD *777777* = STACK>
+                   <PUSH JFN7>
+                   <DEAD JFN7>
+                   <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP10>
+PHRASE9
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+                   <END \1aGNJFN-OPEN>
+
+#WORD *3333361437*
+                   <GFCN \1aGNJFN-STEP ("VALUE" <OR FALSE <VECTOR FIX ANY>> CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP VEC6:VECTOR TEMP11 TEMP10>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = VEC6 (TYPE VECTOR)>
+                   <DEAD CHANNEL4>
+                   <NTHUV VEC6 2 = TEMP11>
+                   <SYSOP 'GNJFN TEMP11 (RETURN 1) = TEMP11>
+                   <SET TEMP10 TEMP11>
+                   <TYPE? TEMP10 <TYPE-CODE FALSE> + PHRASE9>
+                   <PUTUV VEC6 1 TEMP11>
+                   <DEAD TEMP11>
+                   <SET TEMP10 VEC6>
+                   <DEAD VEC6>
+PHRASE9
+                   <RETURN TEMP10>
+                   <DEAD TEMP10>
+                   <END \1aGNJFN-STEP>
+
+#WORD *13427271075*
+                   <GFCN \1aGNJFN-CLOSE ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5>
+                   <TEMP VEC6>
+                   <INTGO>
+                   <NTHUV CHANNEL4 5 = VEC6 (TYPE VECTOR)>
+                   <DEAD CHANNEL4>
+                   <NTHUV VEC6 2 = VEC6>
+                   <SYSOP 'RLJFN VEC6 = VEC6>
+                   <RETURN VEC6>
+                   <DEAD VEC6>
+                   <END \1aGNJFN-CLOSE>
+
+<NEW-CHANNEL-TYPE PARSE DEFAULT OPEN PARSE-OPEN CLOSE PARSE-CLOSE>
+
+#WORD *20071755313*
+                   <GFCN \1aVALUE? ("VALUE" <OR FIX STRING> ATOM) ATM4>
+                   <TEMP TEMP8>
+                   <INTGO>
+                   <GEN-ASSIGNED? ATM4 - PHRASE7>
+                   <GEN-LVAL ATM4 = TEMP8>
+                   <DEAD ATM4>
+                   <JUMP + PHRASE12>
+PHRASE7
+                   <NTHR ATM4 1 = TEMP8 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG14)>
+                   <TYPE? TEMP8 <TYPE-CODE FALSE> + TAG14>
+                   <NTHR TEMP8 1 = TEMP8 (RECORD-TYPE GBIND)>
+                   <TYPE? TEMP8 <TYPE-CODE UNBOUND> - TAG13>
+                   <DEAD TEMP8>
+TAG14
+                   <SET TEMP8 %<> (TYPE FALSE)>
+                   <JUMP + PHRASE12>
+TAG13
+                   <GVAL ATM4 = TEMP8>
+                   <DEAD ATM4>
+PHRASE12
+                   <TYPE? TEMP8 <TYPE-CODE FALSE> + BOOL18>
+                   <TYPE? TEMP8 <TYPE-CODE FIX> + BOOL18>
+                   <EMPUS? TEMP8 - PHRASE17 (TYPE STRING)>
+BOOL18
+                   <RETURN 0>
+PHRASE17
+                   <RETURN TEMP8>
+                   <DEAD TEMP8>
+                   <END \1aVALUE?>
+
+#WORD *25511730513*
+                   <GFCN \1aPARSE-OPEN ("VALUE" <OR FALSE <VECTOR FIX [REST FIX]>> ANY ANY STRING "OPTIONAL" <OR FIX STRING> <OR FIX STRING> <OR FIX STRING> <OR FIX STRING>) TYP9 OPER10 NAME11 NM112 NM213 DEV14 SNM15>
+                   <OPT-DISPATCH 3 %<> OPT4 OPT5 OPT6 OPT7 OPT8>
+OPT4
+                   <PUSH #T$UNBOUND 0>
+OPT5
+                   <PUSH #T$UNBOUND 0>
+OPT6
+                   <PUSH #T$UNBOUND 0>
+OPT7
+                   <PUSH #T$UNBOUND 0>
+OPT8
+                   <TEMP JFN16 TEMP31>
+                   <INTGO>
+                   <TYPE? NM112 <TYPE-CODE UNBOUND> - TAG17>
+                   <FRAME '\1aVALUE?>
+                   <PUSH 'NM1>
+                   <CALL '\1aVALUE? 1 = NM112>
+TAG17
+                   <TYPE? NM213 <TYPE-CODE UNBOUND> - TAG20>
+                   <FRAME '\1aVALUE?>
+                   <PUSH 'NM2>
+                   <CALL '\1aVALUE? 1 = NM213>
+TAG20
+                   <TYPE? DEV14 <TYPE-CODE UNBOUND> - TAG23>
+                   <FRAME '\1aVALUE?>
+                   <PUSH 'DEV>
+                   <CALL '\1aVALUE? 1 = DEV14>
+TAG23
+                   <TYPE? SNM15 <TYPE-CODE UNBOUND> - TAG26>
+                   <FRAME '\1aVALUE?>
+                   <PUSH 'SNM>
+                   <CALL '\1aVALUE? 1 = SNM15>
+TAG26
+                   <SYSOP 'GTJFN-L NAME11 8388608 34359607295 DEV14 SNM15 NM112 NM213 0 0 0 = JFN16>
+                   <DEAD NAME11 DEV14 SNM15 NM112 NM213>
+                   <SET TEMP31 JFN16>
+                   <TYPE? TEMP31 <TYPE-CODE FALSE> + PHRASE30>
+                   <PUSH JFN16>
+                   <DEAD JFN16>
+                   <UBLOCK <TYPE-CODE VECTOR> 1 = TEMP31>
+PHRASE30
+                   <RETURN TEMP31>
+                   <DEAD TEMP31>
+                   <END \1aPARSE-OPEN>
+
+#WORD *32655137455*
+                   <GFCN \1aPARSE-CLOSE ("VALUE" ANY CHANNEL ANY) CH4 OPER5>
+                   <TEMP DATA6>
+                   <INTGO>
+                   <NTHUV CH4 5 = DATA6 (TYPE VECTOR)>
+                   <DEAD CH4>
+                   <NTHUV DATA6 1 = DATA6 (TYPE FIX)>
+                   <SYSOP 'RLJFN DATA6 = DATA6>
+                   <RETURN DATA6>
+                   <DEAD DATA6>
+                   <END \1aPARSE-CLOSE>
+
+<ENDPACKAGE>