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