Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / double-int.mima
diff --git a/mim/development/mim/vaxc/double-int.mima b/mim/development/mim/vaxc/double-int.mima
new file mode 100644 (file)
index 0000000..7c0246b
--- /dev/null
@@ -0,0 +1,167 @@
+
+<PUT-DECL DFLOAT '<<PRIMTYPE UVECTOR> [2 FIX]>>
+
+#WORD *13255341736*
+                   <GFCN \1aDFLOAT ("VALUE" ANY ATOM "TUPLE" <TUPLE [REST DFLOAT]>) OPER5>
+                   <MAKTUP ARGS6:TUPLE NARGS7 TEMP23 TEMP24 = ARGS6>
+                   <INTGO>
+                   <LENUV ARGS6 = NARGS7 (TYPE FIX)>
+                   <VEQUAL? OPER5 'ADD + BOOL11>
+                   <VEQUAL? OPER5 'MUL + BOOL11>
+                   <VEQUAL? OPER5 'SUB + BOOL11>
+                   <VEQUAL? OPER5 'DIV - PHRASE10>
+BOOL11
+                   <LESS? NARGS7 2 + BOOL14 (TYPE FIX)>
+                   <GRTR? NARGS7 3 - PHRASE13 (TYPE FIX)>
+BOOL14
+                   <FRAME '\1aERROR>
+                   <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
+                   <PUSH 'DOUBLE>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <CALL '\1aERROR 3 = NARGS7>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE13
+                   <VEQUAL? NARGS7 2 - PHRASE19 (TYPE FIX)>
+                   <DEAD NARGS7>
+                   <NTHUV ARGS6 2 = NARGS7>
+                   <JUMP + PHRASE20>
+PHRASE19
+                   <NTHUV ARGS6 3 = NARGS7>
+PHRASE20
+                   <VEQUAL? OPER5 'ADD - PHRASE22>
+                   <NTHUV ARGS6 1 = TEMP23>
+                   <NTHUV ARGS6 2 = TEMP24>
+                   <DEAD ARGS6>
+                   <DOUBLE 'ADD TEMP23 TEMP24 NARGS7>
+                   <DEAD TEMP23 TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE22
+                   <VEQUAL? OPER5 'MUL - PHRASE25>
+                   <NTHUV ARGS6 1 = TEMP24>
+                   <NTHUV ARGS6 2 = TEMP23>
+                   <DEAD ARGS6>
+                   <DOUBLE 'MUL TEMP24 TEMP23 NARGS7>
+                   <DEAD TEMP24 TEMP23>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE25
+                   <VEQUAL? OPER5 'SUB - PHRASE26>
+                   <NTHUV ARGS6 1 = TEMP23>
+                   <NTHUV ARGS6 2 = TEMP24>
+                   <DEAD ARGS6>
+                   <DOUBLE 'SUB TEMP23 TEMP24 NARGS7>
+                   <DEAD TEMP23 TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE26
+                   <VEQUAL? OPER5 'DIV - PHRASE27>
+                   <DEAD OPER5>
+                   <NTHUV ARGS6 1 = TEMP24>
+                   <NTHUV ARGS6 2 = TEMP23>
+                   <DEAD ARGS6>
+                   <DOUBLE 'DIV TEMP24 TEMP23 NARGS7>
+                   <DEAD TEMP24 TEMP23>
+PHRASE27
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE10
+                   <VEQUAL? OPER5 'G? + BOOL29>
+                   <VEQUAL? OPER5 '=? + BOOL29>
+                   <VEQUAL? OPER5 'L? - PHRASE28>
+BOOL29
+                   <VEQUAL? NARGS7 2 + PHRASE31 (TYPE FIX)>
+                   <DEAD NARGS7>
+                   <FRAME '\1aERROR>
+                   <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
+                   <PUSH 'DOUBLE>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <CALL '\1aERROR 3 = NARGS7>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE31
+                   <VEQUAL? OPER5 'G? - PHRASE35>
+                   <NTHUV ARGS6 1 = TEMP23>
+                   <NTHUV ARGS6 2 = TEMP24>
+                   <DEAD ARGS6>
+                   <DOUBLE 'G? TEMP23 TEMP24 = NARGS7>
+                   <DEAD TEMP23 TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE35
+                   <VEQUAL? OPER5 '=? - PHRASE36>
+                   <NTHUV ARGS6 1 = TEMP24>
+                   <NTHUV ARGS6 2 = TEMP23>
+                   <DEAD ARGS6>
+                   <DOUBLE '=? TEMP24 TEMP23 = NARGS7>
+                   <DEAD TEMP24 TEMP23>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE36
+                   <VEQUAL? OPER5 'L? + TAG38>
+                   <DEAD OPER5>
+                   <RETURN %<>>
+TAG38
+                   <NTHUV ARGS6 1 = TEMP23>
+                   <NTHUV ARGS6 2 = TEMP24>
+                   <DEAD ARGS6>
+                   <DOUBLE 'L? TEMP23 TEMP24 = NARGS7>
+                   <DEAD TEMP23 TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE28
+                   <VEQUAL? OPER5 'DOUBLE-TO-SINGLE - PHRASE39>
+                   <VEQUAL? NARGS7 1 + PHRASE41 (TYPE FIX)>
+                   <DEAD NARGS7>
+                   <FRAME '\1aERROR>
+                   <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
+                   <PUSH 'DOUBLE>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <CALL '\1aERROR 3 = NARGS7>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE41
+                   <NTHUV ARGS6 1 = TEMP24>
+                   <DEAD ARGS6>
+                   <DOUBLE 'DOUBLE-TO-SINGLE TEMP24 = NARGS7>
+                   <DEAD TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE39
+                   <VEQUAL? OPER5 'SINGLE-TO-DOUBLE + TAG47>
+                   <RETURN %<>>
+TAG47
+                   <LESS? NARGS7 1 + BOOL50 (TYPE FIX)>
+                   <GRTR? NARGS7 2 - PHRASE49 (TYPE FIX)>
+BOOL50
+                   <FRAME '\1aERROR>
+                   <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
+                   <PUSH 'DOUBLE>
+                   <PUSH OPER5>
+                   <DEAD OPER5>
+                   <CALL '\1aERROR 3 = NARGS7>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE49
+                   <VEQUAL? NARGS7 2 - PHRASE56 (TYPE FIX)>
+                   <DEAD NARGS7>
+                   <NTHUV ARGS6 1 = TEMP24>
+                   <NTHUV ARGS6 2 = NARGS7>
+                   <DEAD ARGS6>
+                   <DOUBLE 'SINGLE-TO-DOUBLE TEMP24 NARGS7>
+                   <DEAD TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+PHRASE56
+                   <NTHUV ARGS6 1 = TEMP24>
+                   <DEAD ARGS6>
+                   <UUBLOCK <TYPE-CODE UVECTOR> 2 = NARGS7 (TYPE UVECTOR)>
+                   <DOUBLE 'SINGLE-TO-DOUBLE TEMP24 NARGS7>
+                   <DEAD TEMP24>
+                   <RETURN NARGS7>
+                   <DEAD NARGS7>
+                   <END \1aDFLOAT>