Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / msysdefs.mud
1 <NEWTYPE RES-IND ATOM>
2
3 <NEWSTRUC LABEL-REF VECTOR
4           LABEL-REF-NAME <OR ATOM SPEC-LABEL ATOM>
5           LABEL-REF-XREFS <LIST [REST XREF-INFO]>
6           LABEL-REF-REL-ADDR FIX
7           LABEL-REF-CODE-PTR FIX
8           LABEL-REF-LOOP-LABEL <OR FALSE AC-STATE>
9           LABEL-REF-PUSH-POINTER <OR FALSE FIX>
10           LABEL-REF-LIVE-VARS <LIST [REST VARTBL]>
11           LABEL-REF-DEAD-VARS <LIST [REST VARTBL]>
12           LABEL-REF-NOT-REAL <OR ATOM FALSE>>
13
14 <NEWSTRUC XREF-INFO VECTOR
15           XREF-INFO-LABEL LABEL-REF
16           XREF-INFO-POINT FIX
17           XREF-INFO-SAVED-AC-INFO <OR FALSE AC-STATE>
18           XREF-INFO-STACK-SAVE-CODE <OR FALSE CODEVEC>
19           XREF-INFO-SHORT BOOLEAN
20           XREF-INFO-ADDR FIX
21           XREF-INFO-STATUS ANY
22           XREF-INFO-LILEN FIX
23           XREF-INFO-CP FIX
24           XREF-INFO-SLSTATE <OR FALSE SLOAD-STATE>
25           XREF-INFO-PSAVES <LIST [REST PTN-SAVE]>
26           XREF-INFO-FORCE-LONG BOOLEAN>
27
28 <NEWSTRUC CALL-DESCRIPTOR VECTOR
29           CD-DISP-OFFSET FIX
30           CD-NAME ATOM
31           CD-ARGS <VECTOR [REST ARG-DESCRIPTOR]>
32           CD-RESULT <OR FALSE DATUM>
33           CD-FLUSH?-ACS BOOLEAN>
34
35 <MSETG RTE-DISPATCH-TABLE-SIZE 200>
36
37 <GDECL (RTE-DISP-TABLE) <VECTOR [REST <OR FALSE ATOM>]>>
38
39 <NEWSTRUC DATUM VECTOR
40           DATUM-TYPE <OR FALSE ATOM>
41           DATUM-TAC <OR FALSE ATOM>
42           DATUM-VAC ATOM>
43
44 <ENV-COND
45  ((ENVIRONMENT MDL) <PUTPROP ARG-DESCRIPTOR DECL '<OR ATOM AC-LDESC>>)
46  (T <PUT-DECL ARG-DESCRIPTOR '<OR ATOM AC-LDESC>>)>
47
48 <NEWSTRUC AC-LDESC VECTOR
49           AC-LDESC-KIND ATOM
50           AC-LDESC-TAC <OR FALSE ATOM>
51           AC-LDESC-VAC ATOM>
52
53 <GDECL (FRAME-LABEL-TABLE) <LIST [REST SPEC-LABEL]>>
54
55 <MSETG CLT-CODE 1>
56
57 <MSETG CEQ-CODE 2>
58
59 <MSETG CGT-CODE 3>
60
61 <GDECL (NCOMP-TABLE COMP-TABLE REVERSE-TABLE) <UVECTOR FIX>>
62
63 <GDECL (FLUSH-NEXT) FIX>
64
65 <GDECL (PASS-OPS) <UVECTOR [REST FIX]>>
66
67 <MSETG MAX-NUMBER-ARGS 40>
68
69 <GDECL (ARGVEC) VECTOR>
70
71 <GDECL (FUNCTION-DECL) LIST
72        (FUNCTION-NAME) ATOM
73        (ARGLIST-VARS) <LIST [REST VARTBL]>
74        (ICALL-LABELS) <LIST [REST ATOM]>>
75
76 <GDECL (TEMP-PATCH) FIX>
77
78 <GDECL (CONSTANT-TYPE-AC CONSTANT-COUNT-AC) <OR FALSE AC>>
79
80 <MSETG MAX-NUMBER-OPS 200>
81
82 <GDECL (OP-APPLY-VECTOR) VECTOR (OP-COUNT) FIX (MIMOP-OBLIST) OBLIST>
83
84 <MSETG BAD-OPERATION -1>
85
86 <MSETG MAX16C <- <* 1024 32> 1>>
87
88 <MSETG MAXP16C <- <* 1024 32 2> 1>>
89
90 <MSETG MIN16C <- ,MAX16C>>
91
92 <MSETG COND-CODE-ALWAYS
93        0
94        COND-CODE-NEVER
95        1
96        COND-CODE-HI
97        2
98        COND-CODE-LS
99        3
100        COND-CODE-CC
101        4
102        COND-CODE-CS
103        5
104        COND-CODE-NE
105        6
106        COND-CODE-EQ
107        7
108        COND-CODE-VC
109        8
110        COND-CODE-VS
111        9
112        COND-CODE-PL
113        10
114        COND-CODE-MI
115        11
116        COND-CODE-GE
117        12
118        COND-CODE-LT
119        13
120        COND-CODE-GT
121        14
122        COND-CODE-LE
123        15>
124
125 <ENV-COND
126  ((ENVIRONMENT MDL) <PUT HINT DECL '<LIST ANY ANY>>)
127  (T <PUT-DECL HINT '<LIST ANY ANY>>)>
128
129 <NEWSTRUC AC VECTOR
130           AC-NAME ATOM
131           AC-NUMBER FIX
132           AC-AGE FIX
133           AC-PROT <OR ATOM FALSE>
134           AC-RNUM FIX
135           AC-LLOAD <OR FALSE FIX>
136           AC-LLOAD-EA <OR FALSE EFF-ADDR>
137           AC-VARS <VECTOR [REST LINKVAR]>
138           AC-USE <OR FALSE ATOM>>
139
140 <SETG PTR-AC 0>
141
142 <MSETG AC-INT 0>
143
144 <GDECL (AC-TIME) FIX>
145
146 <MSETG STRUCTURED-TYPES [VECTOR LIST RECORD UVECTOR]>
147
148 <NEWSTRUC LINKVAR VECTOR
149           LINKVAR-VAR VARTBL
150           LINKVAR-VALUE-STORED BOOLEAN
151           LINKVAR-COUNT-STORED BOOLEAN
152           LINKVAR-TYPE-STORED BOOLEAN
153           LINKVAR-DECL <OR FALSE ATOM>
154           LINKVAR-VALUE-AC <OR FALSE AC>
155           LINKVAR-TYPE-AC <OR FALSE AC>
156           LINKVAR-COUNT-AC <OR FALSE AC>
157           LINKVAR-TYPE-WORD-AC <OR FALSE AC>
158           LINKVAR-POTENTIAL-SAVES <LIST [REST XREF-INFO]>>
159
160 <ENV-COND
161  ((ENVIRONMENT MDL)
162   <PUTPROP CACHED-VARIABLES DECL '<VECTOR [REST LINKVAR]>>)
163  (T
164   <PUT-DECL CACHED-VARIABLES '<VECTOR [REST LINKVAR]>>)>
165
166 <MSETG CACHE-LENGTH 30>
167
168 <ENV-COND
169  ((ENVIRONMENT MDL)
170   <PUTPROP AC-STATE DECL '<VECTOR [REST LINKVAR]>>)
171  (T
172   <PUT-DECL AC-STATE '<VECTOR [REST LINKVAR]>>)>
173
174 <GDECL (VARIABLE-CACHE) AC-STATE>
175
176 <GDECL (STATUS-AC) <OR FALSE AC>
177        (STATUS-VAR) <OR FALSE VARTBL>
178        (STATUS-TYPE) ATOM>
179
180 <GDECL (UNCONDITIONAL-BRANCH) BOOLEAN>
181
182 <NEWSTRUC VARTBL VECTOR
183           VARTBL-NAME ATOM
184           VARTBL-LOC <OR FALSE FIX>
185           VARTBL-TYPE <OR FALSE ATOM>
186           VARTBL-RDECL <OR FALSE ATOM>
187           VARTBL-DEAD? <OR FALSE ATOM>
188           VARTBL-TEMP? BOOLEAN
189           VARTBL-TDECL <OR FALSE ATOM>
190           VARTBL-INIT <OR FALSE INITVAL>>
191
192 <NEWTYPE SPEC-FALSE LIST>
193
194 <NEWTYPE INITVAL VECTOR>
195
196 <GDECL (VAR-LIST) <LIST [REST VARTBL]>>
197
198 <NEWSTRUC STK-MODEL VECTOR
199           SM-PATCHLOC FIX
200           SM-VARLIST <LIST [REST VARTBL]>
201           SM-KIDS <LIST [REST STK-MODEL]>
202           SM-PARENT <OR FALSE STK-MODEL>
203           SM-SAVED-VAR-POINTER FIX
204           SM-VARS <LIST [REST VARTBL]>>
205
206 <GDECL (TOP-MODEL CURRENT-MODEL) STK-MODEL>
207
208 <ENV-COND ((ENVIRONMENT MDL) <PUTPROP AC-CHOICES DECL '<OR ATOM AC>>)
209           (T <PUT-DECL AC-CHOICES '<OR ATOM AC>>)>
210
211 <NEWSTRUC AC-LOAD-STATE VECTOR
212           ACL-LLOAD <OR FALSE FIX>
213           ACL-LLOAD-EA <OR FALSE EFF-ADDR>>
214
215 <ENV-COND
216  ((ENVIRONMENT MDL)
217   <PUTPROP SLOAD-STATE DECL '<VECTOR [REST <OR FALSE AC-LOAD-STATE>]>>)
218  (T
219   <PUT-DECL SLOAD-STATE '<VECTOR [REST <OR FALSE AC-LOAD-STATE>]>>)>
220
221 <GDECL (LOOP-VARS) AC-STATE>
222
223 <GDECL (RE-GEN-POST RE-GEN-PRE) LIST>
224
225 <MSETG INT-LABELS <VECTOR TCOMPERR>>
226
227 <NEWSTRUC RECORD-ELEMENT-DESCRIPTOR VECTOR
228           RED-OFFSET-VALUE FIX
229           RED-OFFSET-TYPCNT FIX
230           RED-KIND ATOM
231           RED-BIT-NUMBER FIX
232           RED-SBOOL BOOLEAN
233           RED-LENGTH <OR FALSE FIX>
234           RED-OBJTYP <OR FALSE ATOM>>
235
236
237 <GDECL (RECORD-TABLE) <LIST [REST RECORD-DESCRIPTOR]>>
238
239 <NEWSTRUC RECORD-DESCRIPTOR VECTOR
240           REC-TYPE-NAME <VECTOR [REST ATOM]> 
241           REC-ELEMENTS <LIST [REST RECORD-ELEMENT-DESCRIPTOR]>
242           REC-STACK BOOLEAN>
243
244 <NEWTYPE XGLOC ATOM>
245
246 <NEWTYPE XTYPE-C ATOM>
247
248 <NEWTYPE XTYPE-W ATOM>
249
250 <NEWTYPE XCHANNEL-OP LIST>
251
252 <GDECL (TYPE-WORDS) <VECTOR [REST ATOM FIX]>>
253
254 <GDECL (MVEC-LIST) LIST (MVEC-OFF) FIX>
255
256 <NEWTYPE T$UNBOUND FIX>
257
258 <NEWTYPE ADECL VECTOR>
259
260 <OR <LOOKUP "LBIND" <ROOT>> <INSERT "LBIND" <ROOT>>> 
261
262 <OR <LOOKUP "GBIND" <ROOT>> <INSERT "GBIND" <ROOT>>>
263
264 <GDECL (ALL-ACS) <VECTOR [REST AC]>>
265
266 <GDECL (ICALL-LEVEL) FIX>
267
268 <MSETG LONG-TYPE-MASK <PUTBITS <PUTBITS 0 <BITS 5 31> 1> <BITS 1 21> 1>>
269
270 <MSETG SHORT-TYPE-MASK <PUTBITS <PUTBITS 0 <BITS 1 5> 1> <BITS 21 15> 1>>
271
272 <MSETG ADDR-MASK <PUTBITS *37777777777* <BITS 2> 0>>
273
274 <MSETG NUMVARS-AC 5>
275
276
277 <MAPF <>
278       <FUNCTION (MODE-NAME MODE-CODE)
279            <MSETG .MODE-NAME <CHTYPE <LSH .MODE-CODE 4> FIX>>>
280       '[AM-REG AM-LIT AM-INX AM-REGD AM-ADEC AM-AINC AM-AINCD AM-BD AM-BDD
281         AM-WD AM-WDD AM-LD AM-LDD]
282       '[5 0 4 6 7 8 9 10 11 12 13 14 15]> 
283
284 <MSETG LIST-NEXT-OFFSET -4>