Significant progress to getting pl1$pl1 to compile something, implemented many necess...
[multics_sim.git] / access_mode_values.h
1 #ifndef _ACCESS_MODE_VALUES_H
2 #define _ACCESS_MODE_VALUES_H
3
4 // dcl (
5 enum {
6   // N_ACCESS init ("000"b),
7   N_ACCESS = 0,
8
9   // R_ACCESS init ("100"b),
10   R_ACCESS = 4,
11
12   // E_ACCESS init ("010"b),
13   E_ACCESS = 2,
14
15   // W_ACCESS init ("001"b),
16   W_ACCESS = 1,
17
18   // RE_ACCESS init ("110"b),
19   RE_ACCESS = 6,
20
21   // REW_ACCESS init ("111"b),
22   REW_ACCESS = 7,
23
24   // RW_ACCESS init ("101"b),
25   RW_ACCESS = 5,
26
27   // S_ACCESS init ("100"b),
28   S_ACCESS = 4,
29  
30   // M_ACCESS init ("010"b),
31   M_ACCESS = 2,
32  
33   // A_ACCESS init ("001"b),
34   A_ACCESS = 1,
35
36   // SA_ACCESS init ("101"b),
37   SA_ACCESS = 5,
38
39   // SM_ACCESS init ("110"b),
40   SM_ACCESS = 6,
41
42   // SMA_ACCESS init ("111"b)
43   SMA_ACCESS = 7
44
45   // ) bit (3) internal static options (constant);
46 };
47
48 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or
49  2) divide (bin_value, 2) to come up with an index into the array. */
50
51 // dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal
52   // static options (constant);
53
54 // dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal
55   // static options (constant);
56
57 // dcl (
58 enum {
59   // N_ACCESS_BIN init (00000b),
60   N_ACCESS_BIN = 0,
61
62   // R_ACCESS_BIN init (01000b),
63   R_ACCESS_BIN = 010,
64
65   // E_ACCESS_BIN init (00100b),
66   E_ACCESS_BIN = 4,
67
68   // W_ACCESS_BIN init (00010b),
69   W_ACCESS_BIN = 2,
70
71   // RW_ACCESS_BIN init (01010b),
72   RW_ACCESS_BIN = 012,
73
74   // RE_ACCESS_BIN init (01100b),
75   RE_ACCESS_BIN = 014,
76
77   // REW_ACCESS_BIN init (01110b),
78   REW_ACCESS_BIN = 016,
79
80   // S_ACCESS_BIN init (01000b),
81   S_ACCESS_BIN = 010,
82
83   // M_ACCESS_BIN init (00010b),
84   M_ACCESS_BIN = 2,
85
86   // A_ACCESS_BIN init (00001b),
87   A_ACCESS_BIN = 1,
88
89   // SA_ACCESS_BIN init (01001b),
90   SA_ACCESS_BIN = 011,
91
92   // SM_ACCESS_BIN init (01010b),
93   SM_ACCESS_BIN = 012,
94
95   // SMA_ACCESS_BIN init (01011b)
96   SMA_ACCESS_BIN = 013
97
98   // ) fixed bin (5) internal static options (constant);
99 };
100
101 #endif