Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / double-int.mima
1
2 <PUT-DECL DFLOAT '<<PRIMTYPE UVECTOR> [2 FIX]>>
3
4 #WORD *13255341736*
5                     <GFCN \1aDFLOAT ("VALUE" ANY ATOM "TUPLE" <TUPLE [REST DFLOAT]>) OPER5>
6                     <MAKTUP ARGS6:TUPLE NARGS7 TEMP23 TEMP24 = ARGS6>
7                     <INTGO>
8                     <LENUV ARGS6 = NARGS7 (TYPE FIX)>
9                     <VEQUAL? OPER5 'ADD + BOOL11>
10                     <VEQUAL? OPER5 'MUL + BOOL11>
11                     <VEQUAL? OPER5 'SUB + BOOL11>
12                     <VEQUAL? OPER5 'DIV - PHRASE10>
13 BOOL11
14                     <LESS? NARGS7 2 + BOOL14 (TYPE FIX)>
15                     <GRTR? NARGS7 3 - PHRASE13 (TYPE FIX)>
16 BOOL14
17                     <FRAME '\1aERROR>
18                     <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
19                     <PUSH 'DOUBLE>
20                     <PUSH OPER5>
21                     <DEAD OPER5>
22                     <CALL '\1aERROR 3 = NARGS7>
23                     <RETURN NARGS7>
24                     <DEAD NARGS7>
25 PHRASE13
26                     <VEQUAL? NARGS7 2 - PHRASE19 (TYPE FIX)>
27                     <DEAD NARGS7>
28                     <NTHUV ARGS6 2 = NARGS7>
29                     <JUMP + PHRASE20>
30 PHRASE19
31                     <NTHUV ARGS6 3 = NARGS7>
32 PHRASE20
33                     <VEQUAL? OPER5 'ADD - PHRASE22>
34                     <NTHUV ARGS6 1 = TEMP23>
35                     <NTHUV ARGS6 2 = TEMP24>
36                     <DEAD ARGS6>
37                     <DOUBLE 'ADD TEMP23 TEMP24 NARGS7>
38                     <DEAD TEMP23 TEMP24>
39                     <RETURN NARGS7>
40                     <DEAD NARGS7>
41 PHRASE22
42                     <VEQUAL? OPER5 'MUL - PHRASE25>
43                     <NTHUV ARGS6 1 = TEMP24>
44                     <NTHUV ARGS6 2 = TEMP23>
45                     <DEAD ARGS6>
46                     <DOUBLE 'MUL TEMP24 TEMP23 NARGS7>
47                     <DEAD TEMP24 TEMP23>
48                     <RETURN NARGS7>
49                     <DEAD NARGS7>
50 PHRASE25
51                     <VEQUAL? OPER5 'SUB - PHRASE26>
52                     <NTHUV ARGS6 1 = TEMP23>
53                     <NTHUV ARGS6 2 = TEMP24>
54                     <DEAD ARGS6>
55                     <DOUBLE 'SUB TEMP23 TEMP24 NARGS7>
56                     <DEAD TEMP23 TEMP24>
57                     <RETURN NARGS7>
58                     <DEAD NARGS7>
59 PHRASE26
60                     <VEQUAL? OPER5 'DIV - PHRASE27>
61                     <DEAD OPER5>
62                     <NTHUV ARGS6 1 = TEMP24>
63                     <NTHUV ARGS6 2 = TEMP23>
64                     <DEAD ARGS6>
65                     <DOUBLE 'DIV TEMP24 TEMP23 NARGS7>
66                     <DEAD TEMP24 TEMP23>
67 PHRASE27
68                     <RETURN NARGS7>
69                     <DEAD NARGS7>
70 PHRASE10
71                     <VEQUAL? OPER5 'G? + BOOL29>
72                     <VEQUAL? OPER5 '=? + BOOL29>
73                     <VEQUAL? OPER5 'L? - PHRASE28>
74 BOOL29
75                     <VEQUAL? NARGS7 2 + PHRASE31 (TYPE FIX)>
76                     <DEAD NARGS7>
77                     <FRAME '\1aERROR>
78                     <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
79                     <PUSH 'DOUBLE>
80                     <PUSH OPER5>
81                     <DEAD OPER5>
82                     <CALL '\1aERROR 3 = NARGS7>
83                     <RETURN NARGS7>
84                     <DEAD NARGS7>
85 PHRASE31
86                     <VEQUAL? OPER5 'G? - PHRASE35>
87                     <NTHUV ARGS6 1 = TEMP23>
88                     <NTHUV ARGS6 2 = TEMP24>
89                     <DEAD ARGS6>
90                     <DOUBLE 'G? TEMP23 TEMP24 = NARGS7>
91                     <DEAD TEMP23 TEMP24>
92                     <RETURN NARGS7>
93                     <DEAD NARGS7>
94 PHRASE35
95                     <VEQUAL? OPER5 '=? - PHRASE36>
96                     <NTHUV ARGS6 1 = TEMP24>
97                     <NTHUV ARGS6 2 = TEMP23>
98                     <DEAD ARGS6>
99                     <DOUBLE '=? TEMP24 TEMP23 = NARGS7>
100                     <DEAD TEMP24 TEMP23>
101                     <RETURN NARGS7>
102                     <DEAD NARGS7>
103 PHRASE36
104                     <VEQUAL? OPER5 'L? + TAG38>
105                     <DEAD OPER5>
106                     <RETURN %<>>
107 TAG38
108                     <NTHUV ARGS6 1 = TEMP23>
109                     <NTHUV ARGS6 2 = TEMP24>
110                     <DEAD ARGS6>
111                     <DOUBLE 'L? TEMP23 TEMP24 = NARGS7>
112                     <DEAD TEMP23 TEMP24>
113                     <RETURN NARGS7>
114                     <DEAD NARGS7>
115 PHRASE28
116                     <VEQUAL? OPER5 'DOUBLE-TO-SINGLE - PHRASE39>
117                     <VEQUAL? NARGS7 1 + PHRASE41 (TYPE FIX)>
118                     <DEAD NARGS7>
119                     <FRAME '\1aERROR>
120                     <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
121                     <PUSH 'DOUBLE>
122                     <PUSH OPER5>
123                     <DEAD OPER5>
124                     <CALL '\1aERROR 3 = NARGS7>
125                     <RETURN NARGS7>
126                     <DEAD NARGS7>
127 PHRASE41
128                     <NTHUV ARGS6 1 = TEMP24>
129                     <DEAD ARGS6>
130                     <DOUBLE 'DOUBLE-TO-SINGLE TEMP24 = NARGS7>
131                     <DEAD TEMP24>
132                     <RETURN NARGS7>
133                     <DEAD NARGS7>
134 PHRASE39
135                     <VEQUAL? OPER5 'SINGLE-TO-DOUBLE + TAG47>
136                     <RETURN %<>>
137 TAG47
138                     <LESS? NARGS7 1 + BOOL50 (TYPE FIX)>
139                     <GRTR? NARGS7 2 - PHRASE49 (TYPE FIX)>
140 BOOL50
141                     <FRAME '\1aERROR>
142                     <PUSH 'WRONG-NUMBER-OF-ARGS!-ERRORS>
143                     <PUSH 'DOUBLE>
144                     <PUSH OPER5>
145                     <DEAD OPER5>
146                     <CALL '\1aERROR 3 = NARGS7>
147                     <RETURN NARGS7>
148                     <DEAD NARGS7>
149 PHRASE49
150                     <VEQUAL? NARGS7 2 - PHRASE56 (TYPE FIX)>
151                     <DEAD NARGS7>
152                     <NTHUV ARGS6 1 = TEMP24>
153                     <NTHUV ARGS6 2 = NARGS7>
154                     <DEAD ARGS6>
155                     <DOUBLE 'SINGLE-TO-DOUBLE TEMP24 NARGS7>
156                     <DEAD TEMP24>
157                     <RETURN NARGS7>
158                     <DEAD NARGS7>
159 PHRASE56
160                     <NTHUV ARGS6 1 = TEMP24>
161                     <DEAD ARGS6>
162                     <UUBLOCK <TYPE-CODE UVECTOR> 2 = NARGS7 (TYPE UVECTOR)>
163                     <DOUBLE 'SINGLE-TO-DOUBLE TEMP24 NARGS7>
164                     <DEAD TEMP24>
165                     <RETURN NARGS7>
166                     <DEAD NARGS7>
167                     <END \1aDFLOAT>