|
|
1.1 root 1: /*
2: * Definitions used in assembly-language progams
3: */
4:
5: #include "../h/config.h"
6:
7: #ifdef VAX
8: #define r(i) (1<<(i))
9: #define F_NQUAL 0x80000000
10: #define F_VAR 0x40000000
11: #define F_TVAR 0x20000000
12: #define F_PTR 0x10000000
13: #define TYPEMASK 63
14: #define MAXSTRING 257
15: #define T_INTEGER 1
16: #define T_LONGINT 1
17: #define T_REAL 3
18: #define T_CSET 4
19: #define T_FILE 5
20: #define T_PROC 6
21: #define T_LIST 7
22: #define T_TABLE 8
23: #define T_RECORD 9
24: #define T_TELEM 10
25: #define T_LISTB 11
26: #define T_TVSUBS 12
27: #define T_TVTBL 14
28: #define T_TVPOS 15
29: #define T_TVRAND 16
30: #define T_TVTRACE 17
31: #define T_ESTACK 18
32: #define T_EBLOCK 19
33: #ifdef SETS
34: #define T_SET 20
35: #define T_SELEM 21
36: #endif SETS
37:
38: #define Global(x) .globl x
39: #define DummyFcn(x) .globl x; x: halt
40: #define DummyData(x) .globl x; x: .long 0
41: #define DummyRef(x) .long x
42: #define gfp r10
43: #define efp r11
44: #define ipc r9
45: #endif VAX
46:
47: #ifdef PORT
48: #define F_NQUAL
49: #define F_VAR
50: #define F_TVAR
51: #define F_PTR
52:
53: #define TYPEMASK
54: #define MAXSTRING
55:
56: #define T_INTEGER
57: #define T_LONGINT
58: #define T_REAL
59: #define T_CSET
60: #define T_FILE
61: #define T_PROC
62: #define T_LIST
63: #define T_TABLE
64: #define T_RECORD
65: #define T_TELEM
66: #define T_LISTB
67: #define T_TVSUBS
68: #define T_TVTBL
69: #define T_TVPOS
70: #define T_TVRAND
71: #define T_TVTRACE
72: #define T_ESTACK
73: #define T_EBLOCK
74: #ifdef SETS
75: #define T_SET
76: #define T_SELEM
77: #endif SETS
78:
79: #define gfp
80: #define efp
81: #define ipc
82: #define Global(x)
83: #define DummyFcn(x)
84: #define DummyData(x)
85: #define DummyRef(x)
86:
87: #endif PORT
88:
89: #ifdef PDP11
90: #define F_NQUAL 0100000
91: #define F_VAR 0040000
92: #define F_TVAR 0020000
93: #define F_PTR 0010000
94:
95: #define TYPEMASK 63.
96: #define MAXSTRING 257.
97:
98: #define T_INTEGER 1.
99: #define T_LONGINT 2.
100: #define T_REAL 3.
101: #define T_CSET 4.
102: #define T_FILE 5.
103: #define T_PROC 6.
104: #define T_LIST 7.
105: #define T_TABLE 8.
106: #define T_RECORD 9.
107: #define T_TELEM 10.
108: #define T_LISTB 11.
109: #define T_TVSUBS 12.
110: #define T_TVTBL 14.
111: #define T_TVPOS 15.
112: #define T_TVRAND 16.
113: #define T_TVTRACE 17.
114: #define T_ESTACK 18.
115: #define T_EBLOCK 19.
116: #ifdef SETS
117: #define T_SET 20.
118: #define T_SELEM 21.
119: #endif SETS
120:
121: #define Global(x) .globl x
122: #define DummyFcn(x) .globl x; x: 0
123: #define DummyData(x) .globl x; x: 0
124: #define DummyRef(x) .globl x; x
125: #endif PDP11
126:
127: #define OFFSETMASK (~(F_NQUAL|F_VAR|F_TVAR))
128:
129: #define D_VAR F_VAR|F_NQUAL
130: #define D_TVAR F_VAR|F_TVAR|F_NQUAL
131: #define D_NULL 0
132: #define D_INTEGER T_INTEGER|F_NQUAL
133: #define D_LONGINT T_LONGINT|F_PTR|F_NQUAL
134: #define D_REAL T_REAL|F_PTR|F_NQUAL
135: #define D_CSET T_CSET|F_PTR|F_NQUAL
136: #define D_FILE T_FILE|F_PTR|F_NQUAL
137: #define D_PROC T_PROC|F_PTR|F_NQUAL
138: #define D_LIST T_LIST|F_PTR|F_NQUAL
139: #define D_TABLE T_TABLE|F_PTR|F_NQUAL
140: #define D_RECORD T_RECORD|F_PTR|F_NQUAL
141: #define D_TELEM T_TELEM|F_PTR|F_NQUAL
142: #define D_LISTB T_LISTB|F_PTR|F_NQUAL
143: #define D_TVSUBS T_TVSUBS|D_TVAR
144: #define D_TVTBL T_TVTBL|D_TVAR
145: #define D_TVPOS T_TVPOS|D_TVAR
146: #define D_TVRAND T_TVRAND|D_TVAR
147: #define D_TVTRACE T_TVTRACE|D_TVAR
148: #define D_ESTACK T_ESTACK|F_PTR|F_NQUAL
149: #define D_EBLOCK T_EBLOCK|F_PTR|F_NQUAL
150: #ifdef SETS
151: #define D_SET T_SET|F_PTR|F_NQUAL
152: #define D_SELEM T_SELEM|F_PTR|F_NQUAL
153: #endif SETS
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.