Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / asmdefs.mud
diff --git a/mim/development/mim/vaxc/asmdefs.mud b/mim/development/mim/vaxc/asmdefs.mud
new file mode 100644 (file)
index 0000000..efbdde1
--- /dev/null
@@ -0,0 +1,99 @@
+<GDECL (SPECIAL-OPS BRANCH-INS CASE-INS MIM-CALLS)
+       <UVECTOR [REST FIX]>>
+
+<NEWTYPE EFF-ADDR FIX>
+
+<NEWTYPE LADDR LIST '<<PRIMTYPE LIST> EFF-ADDR EFF-ADDR>>
+
+<MSETG MAXVAL <* 32 1024>>
+
+<MSETG MINVAL <- ,MAXVAL>>
+
+<GDECL (CODE-LIST) <LIST CODEVEC [REST CODEVEC]>>
+
+<ENV-COND
+ ((ENVIRONMENT MDL) <PUTPROP CODEVEC DECL '<UVECTOR [REST FIX]>>)
+ (T <PUT-DECL CODEVEC '<UVECTOR [REST FIX]>>)>
+
+<GDECL (CURRENT-CODE) CODEVEC (CODE-COUNT) FIX>
+
+<MSETG CODEVEC-LENGTH 1024>
+
+<NEWTYPE SPEC-LABEL FIX>
+
+
+<GDECL (LABEL-TABLE) <LIST [REST LABEL-REF]>
+       (OUTST-LABEL-TABLE) <VECTOR [REST LABEL-REF]>
+       (CURRENT-SLABEL) FIX>
+
+<MSETG MAX-OUTST-LABELS 128>
+
+<NEWSTRUC PTN-SAVE VECTOR
+         PTNS-CODE CODEVEC
+         PTNS-VAR VARTBL
+         PTNS-KIND ATOM
+         PTNS-USE BOOLEAN
+         PTNS-SUBS <LIST [REST PTN-SAVE]>>
+
+<GDECL (PTNS-TABLE) <LIST [REST PTN-SAVE]> (PTNS-COUNT) FIX>
+
+<NEWSTRUC CONSTANT-INFO UVECTOR
+         "REST"
+         CONSTANT-INFO-NUM FIX
+         CONSTANT-INFO-CODELOC FIX>
+
+<MSETG CONSTANT-TABLE-SIZE 1024>
+
+<MSETG CONSTANT-TABLE-INCREMENT 128>
+
+<GDECL (CONSTANT-TABLE) <UVECTOR [REST FIX]> (CONSTANT-POINTER) FIX>
+
+<NEWSTRUC PATCH VECTOR
+         PATCH-CODE CODEVEC
+         PATCH-TYPE ATOM>
+
+<GDECL (PATCH-TABLE) <LIST [REST PATCH]> (NUM-PATCH) FIX>
+
+<GDECL (SAVED-CODE-COUNT) <OR FALSE FIX> (SAVED-CODE-STACK) <LIST [REST FIX]>>
+
+<NEWSTRUC INT-ENTRY VECTOR
+         IE-NUMBER-ARGS FIX
+         IE-LABEL-REF LABEL-REF>
+
+<NEWSTRUC CALL-ENTRY VECTOR
+         CET-MSUBR-NAME ATOM
+         CET-DISPATCH <UVECTOR [REST FIX]>>
+          
+<GDECL (INTERNAL-ENTRY-TABLE) <LIST [REST INT-ENTRY]>
+       (CALL-ENTRY-TABLE) <LIST [REST CALL-ENTRY]>>
+
+<NEWSTRUC UNRESOLVED-CALL VECTOR
+         UC-NAME ATOM
+         UC-NUMBER-ARGS FIX
+         UC-CODE-PTR FIX
+         UC-CALL-BYTEOFF FIX>
+
+<GDECL (CALL-TABLE) <VECTOR [REST <OR FALSE UNRESOLVED-CALL>]>
+       (CALL-POINTER) FIX
+       (UNRESOLVED-CALLS-TABLE) <LIST [REST UNRESOLVED-CALL]>>
+
+<MSETG CT-NUMBER-CALLS 100>
+
+<GDECL (PUSH-LABEL-TABLE MOVE-LABEL-TABLE) <VECTOR [REST <OR FALSE LABEL-REF>]>
+       (PUSH-LABEL-COUNT MOVE-LABEL-COUNT MAX-NUMBER-PASSES) FIX>
+
+<SETG MAX-NUMBER-PASSES 5>
+
+<MSETG JUMP-EXTENT <- <* 32 1024> 1>>
+
+<MSETG CALL-SEQUENCE-LENGTH 10>
+
+<MSETG 0BIT-TABLE ![0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 -1 -1!]>
+
+<GDECL (LABEL-POINTER) <LIST [REST LABEL-REF]> (LABEL-OFFSET) FIX>
+
+<GDECL (UNRESOLVED-CALL-TABLE) <LIST [REST UNRESOLVED-CALL]>>
+
+<GDECL (PF-BYTEOFF PF-PTR) FIX>
+
+<GDECL (CCNAME-TABLE) <VECTOR [REST STRING]>>
\ No newline at end of file