Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / storage-defs.mud
diff --git a/mim/development/mim/vax/mimlib/storage-defs.mud b/mim/development/mim/vax/mimlib/storage-defs.mud
new file mode 100644 (file)
index 0000000..f9a6b35
--- /dev/null
@@ -0,0 +1,68 @@
+<DEFINITIONS "STORAGE-DEFS">
+
+<USE "NEWSTRUC">
+
+<COND (<FEATURE? "COMPILER"> <SET REDEFINE T>)>
+
+"Storage types (low-order part of type code)"
+<MSETG $PFIX 0>
+<MSETG $PLIST 1>
+<MSETG $PRECORD 2>
+<MSETG $PBYTES 4>
+<MSETG $PSTRING 5>
+<MSETG $PUVECTOR 6>
+<MSETG $PVECTOR 7>
+
+<DEFMAC ADDR-S ('S) 
+       <FORM PROG
+             ((RESULT .S))
+             '<IFSYS ("TOPS20"
+                      <SET RESULT
+                           <+ <ANDB <CALL VALUE .RESULT> 1073741823> 1>>)>
+             '.RESULT>>
+
+<DEFMAC GET-SAT-FROM-TYPEC ('TYPE-CODE)
+   <FORM ANDB .TYPE-CODE *77*>>
+
+<DEFMAC GET-SAT-FROM-OBJ ('OBJ)
+   <FORM ANDB <FORM CALL TYPE .OBJ> *77*>>
+
+"Offsets into ZONE"
+<MSETG GC-PARAMS <OFFSET 1 ZONE GC-PARAMS>>
+<MSETG GC-FCN <OFFSET 2 ZONE>>
+<MSETG MOVE-FCN <OFFSET 3 ZONE>>
+<MSETG GROW-FCN <OFFSET 4 ZONE>>
+<MSETG ZONE-ID <OFFSET 5 ZONE FIX>>
+<MSETG ALL-SPACES <OFFSET 6 ZONE LIST>>
+<MSETG GC-CTL <OFFSET 7 ZONE '<OR FALSE UVECTOR>>>
+
+"Offsets into GC-CTL slot, if non-false"
+<MSETG GCC-MIN-SPACE 1>
+<MSETG GCC-MS-FREQ 2>
+<MSETG GCC-MS-CT 3>
+
+"Offsets in GC-PARAMS"
+<MSETG RCL <OFFSET 1 GC-PARAMS>>
+<MSETG RCLV <OFFSET 2 GC-PARAMS>>
+<MSETG RCLV1 <OFFSET 3 GC-PARAMS>>
+<MSETG RCLV2 <OFFSET 4 GC-PARAMS>>
+<MSETG RCLV3 <OFFSET 5 GC-PARAMS>>
+<MSETG RCLV4 <OFFSET 6 GC-PARAMS>>
+<MSETG RCLV5 <OFFSET 7 GC-PARAMS>>
+<MSETG RCLV6 <OFFSET 8 GC-PARAMS>>
+<MSETG RCLV7 <OFFSET 9 GC-PARAMS>>
+<MSETG RCLV8 <OFFSET 10 GC-PARAMS>>
+<MSETG RCLV9 <OFFSET 11 GC-PARAMS>>
+<MSETG RCLV10 <OFFSET 12 GC-PARAMS>>
+<MSETG GCSBOT <OFFSET 13 GC-PARAMS>>
+<MSETG GCSMIN <OFFSET 14 GC-PARAMS>>
+<MSETG GCSMAX <OFFSET 15 GC-PARAMS>>
+<MSETG GCSFLG <OFFSET 16 GC-PARAMS>>
+
+"Offsets into AREA"
+<MSETG ABOT <OFFSET 1 AREA>>
+<MSETG AMIN <OFFSET 2 AREA>>
+<MSETG AMAX <OFFSET 3 AREA>>
+<MSETG AFLGS <OFFSET 4 AREA>>
+
+<END-DEFINITIONS>