mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 08:54:17 +00:00
Upload
Digital Research
This commit is contained in:
256
CPM OPERATING SYSTEMS/CPM 68K/1.0X SOURCES/v102/c168/icode.lst
Normal file
256
CPM OPERATING SYSTEMS/CPM 68K/1.0X SOURCES/v102/c168/icode.lst
Normal file
@@ -0,0 +1,256 @@
|
||||
1File: ICODE.H Page 1
|
||||
1 /*
|
||||
2 Copyright 1982
|
||||
3 Alcyon Corporation
|
||||
4 8716 Production Ave.
|
||||
5 San Diego, Ca. 92121
|
||||
6 */
|
||||
7 #include "machine.h"
|
||||
8 /*
|
||||
9 * intermediate code operators
|
||||
10 * 0=>EOF, special operator
|
||||
11 */
|
||||
12 #define EOF 0
|
||||
13
|
||||
14 /*1-59=>operators that generate code (entries in code gen optab)*/
|
||||
15 #define ADD 1
|
||||
16 #define SUB 2
|
||||
17 #define MULT 3
|
||||
18 #define DIV 4
|
||||
19 #define MOD 5
|
||||
20 #define RSH 6
|
||||
21 #define LSH 7
|
||||
22 #define AND 8
|
||||
23 #define OR 9
|
||||
24 #define XOR 10
|
||||
25 #define NOT 11
|
||||
26 #define UMINUS 12
|
||||
27 #define COMPL 13
|
||||
28 #define PREDEC 14
|
||||
29 #define PREINC 15
|
||||
30 #define POSTDEC 16
|
||||
31 #define POSTINC 17
|
||||
32 #define ASSIGN 18
|
||||
33 #define EQADD 19
|
||||
34 #define EQSUB 20
|
||||
35 #define EQMULT 21
|
||||
36 #define EQDIV 22
|
||||
37 #define EQMOD 23
|
||||
38 #define EQRSH 24
|
||||
39 #define EQLSH 25
|
||||
40 #define EQAND 26
|
||||
41 #define EQOR 27
|
||||
42 #define EQXOR 28
|
||||
43 #define FJSR 29
|
||||
44 #define EQUALS 30
|
||||
45 #define NEQUALS 31
|
||||
46 #define GREAT 32
|
||||
47 #define GREATEQ 33
|
||||
48 #define LESS 34
|
||||
49 #define LESSEQ 35
|
||||
50 #define INT2L 36
|
||||
51 #define LONG2I 37
|
||||
52
|
||||
53 /*machine dependent operators that generate code*/
|
||||
54 #define BTST 38
|
||||
55 #define LOAD 39
|
||||
56 #define LMULT 40
|
||||
57 #define LDIV 41
|
||||
58 #define LMOD 42
|
||||
59 #define LEQMULT 43
|
||||
1File: ICODE.H Page 2
|
||||
60 #define LEQDIV 44
|
||||
61 #define LEQMOD 45
|
||||
62 #define EQADDR 46
|
||||
63 #define EQNOT 47
|
||||
64 #define EQNEG 48
|
||||
65 #define DOCAST 49
|
||||
66
|
||||
67 #define STASSIGN 50 /*[vlh]*/
|
||||
68 #define LONG2F 51 /*[vlh] 3.4*/
|
||||
69 #define FLOAT2L 52 /*[vlh] 3.4*/
|
||||
70 #define INT2F 53 /*[vlh] 3.4*/
|
||||
71 #define FLOAT2I 54 /*[vlh] 3.4*/
|
||||
72 #define LCGENOP 55 /*change if adding more operators...*/
|
||||
73
|
||||
74 /*intermediate code operators that do not generate code*/
|
||||
75 #define ADDR 60
|
||||
76 #define INDR 61
|
||||
77 #define LAND 62
|
||||
78 #define LOR 63
|
||||
79 #define QMARK 64
|
||||
80 #define COLON 65
|
||||
81 #define COMMA 66
|
||||
82 #define CINT 67
|
||||
83 #define CLONG 68
|
||||
84 #define SYMBOL 69
|
||||
85 #define AUTOINC 70
|
||||
86 #define AUTODEC 71
|
||||
87 #define CALL 72
|
||||
88 #define NACALL 73
|
||||
89 #define BFIELD 74
|
||||
90 #define IFGOTO 75
|
||||
91 #define INIT 76
|
||||
92 #define CFORREG 77
|
||||
93 #define DCLONG 78
|
||||
94 #define CFLOAT 79 /*[vlh] 3.4*/
|
||||
95
|
||||
96 /*operators local to parser*/
|
||||
97 #define CAST 80
|
||||
98 #define SEMI 81
|
||||
99 #define LCURBR 82
|
||||
100 #define RCURBR 83
|
||||
101 #define LBRACK 84
|
||||
102 #define RBRACK 85
|
||||
103 #define LPAREN 86
|
||||
104 #define RPAREN 87
|
||||
105 #define STRING 88
|
||||
106 #define RESWORD 89
|
||||
107 #define APTR 90
|
||||
108 #define PERIOD 91
|
||||
109 #define SIZEOF 92
|
||||
110 #define MPARENS 93
|
||||
111 #define FRETURN 94
|
||||
112 #define STACKEND 100
|
||||
113
|
||||
114 /*data types*/
|
||||
115 #define TYPELESS 0
|
||||
116 #define CHAR 1
|
||||
117 #define SHORT 2
|
||||
118 #define INT 3
|
||||
1File: ICODE.H Page 3
|
||||
119 #define LONG 4
|
||||
120 #define UCHAR 5
|
||||
121 #define USHORT 6
|
||||
122 #define UNSIGNED 7
|
||||
123 #define ULONG 8
|
||||
124 #define FLOAT 9
|
||||
125 #define DOUBLE 10
|
||||
126
|
||||
127 /*data types local to parser*/
|
||||
128 #define STRUCT 11
|
||||
129 #define FRSTRUCT 12
|
||||
130 #define LLABEL 13
|
||||
131
|
||||
132 /*type flags and definitions*/
|
||||
133 #define TYPE 017
|
||||
134 #define SUPTYP 060
|
||||
135 #define ALLTYPE 077
|
||||
136 #define POINTER 020
|
||||
137 #define FUNCTION 040
|
||||
138 #define ARRAY 060
|
||||
139 #define SUTYPLEN 2
|
||||
140
|
||||
141 /*data registers*/
|
||||
142 #define DREG0 0
|
||||
143 #define DREG2 2
|
||||
144 #define DREG3 3
|
||||
145 #define DREG4 4
|
||||
146 #define DREG5 5
|
||||
147 #define DREG6 6
|
||||
148 #define DREG7 7
|
||||
149 #define AREG3 11
|
||||
150 #define AREG4 12
|
||||
151 #define AREG5 13
|
||||
152
|
||||
153 /*storage classes*/
|
||||
154 #define AUTO 1
|
||||
155 #define REGISTER 2
|
||||
156 #define EXTERNAL 3
|
||||
157 #define STATIC 4
|
||||
158 #define REGOFF 5
|
||||
159 #define EXTOFF 6
|
||||
160 #define STATOFF 7
|
||||
161 #define INDEXED 8
|
||||
162
|
||||
163 /*exclusively code generator storage classes*/
|
||||
164 #define CINDR 9
|
||||
165 #define CLINDR 10
|
||||
166 #define CFINDR 11 /* [vlh] 3.4 */
|
||||
167
|
||||
168 /*exclusively parser storage classes*/
|
||||
169 #define STRPROTO 9
|
||||
170 #define PDECLIST 10
|
||||
171 #define PARMLIST 11
|
||||
172 #define BFIELDCL 12
|
||||
173 #define UNELCL 13
|
||||
174 #define STELCL 14
|
||||
175
|
||||
176
|
||||
177 /*opinfo table bits*/
|
||||
1File: ICODE.H Page 4
|
||||
178 #define OPPRI 077
|
||||
179 #define OPBIN 0100
|
||||
180 #define OPLVAL 0200
|
||||
181 #define OPREL 0400
|
||||
182 #define OPASSIGN 01000
|
||||
183 #define OPLWORD 02000
|
||||
184 #define OPRWORD 04000
|
||||
185 #define OPCOM 010000
|
||||
186 #define OPRAS 020000
|
||||
187 #define OPTERM 040000
|
||||
188 #define OPCONVS 0100000
|
||||
189
|
||||
190 /*68000 definitions*/
|
||||
191 #define PTRSIZE 4
|
||||
192 #define INTSIZE 2
|
||||
193 #define LONGSIZE 4
|
||||
194 #define SSIZE 8 /* chars per symbol */
|
||||
195 #define TRUE 1
|
||||
196 #define FALSE 0
|
||||
197 #define TABC '\t' /* tab character */
|
||||
198 #define EOLC '\n' /* end of line character */
|
||||
199 #define BITSPBYTE 8
|
||||
200
|
||||
201 /*operator class priorities*/
|
||||
202 #define TRMPRI 0 /* terminal nodes */
|
||||
203 #define RPNPRI 1 /* ) and ] */
|
||||
204 #define CALPRI 2 /* in-stack call, ( or [ */
|
||||
205 #define COLPRI 3 /* init or case priority for : or , */
|
||||
206 #define STKPRI 4 /* priority of end of stack */
|
||||
207 #define COMPRI 5 /* normal priority for , */
|
||||
208 #define ASGPRI 6 /* =, +=, -=, *=, /=, %=, ... */
|
||||
209 #define QMKPRI 7 /* ?: */
|
||||
210 #define LORPRI 8 /* || */
|
||||
211 #define LNDPRI 9 /* && */
|
||||
212 #define ORPRI 10 /* |, ! */
|
||||
213 #define ANDPRI 11 /* & */
|
||||
214 #define EQLPRI 12 /* ==, != */
|
||||
215 #define RELPRI 13 /* >, <, >=, <= */
|
||||
216 #define SHFPRI 14 /* <<, >> */
|
||||
217 #define ADDPRI 15 /* +, - */
|
||||
218 #define MULPRI 16 /* *, /, % */
|
||||
219 #define UNOPRI 17 /* ++, --, &, *, -, ~, sizeof */
|
||||
220 #define LPNPRI 18 /* ., ->, [, (, function call */
|
||||
221 #define PSTPRI 19 /* in-stack post--, post++ */
|
||||
222
|
||||
223 struct io_buf {
|
||||
224 int io_fd;
|
||||
225 int io_nc;
|
||||
226 char *io_p;
|
||||
227 char io_b[512];
|
||||
228 };
|
||||
229
|
||||
230 #ifdef PDP11
|
||||
231 struct { short hiword; short loword; };
|
||||
232 #endif
|
||||
233 #ifdef MC68000
|
||||
234 struct { short hiword; short loword; };
|
||||
235 #endif
|
||||
236 #ifdef VAX
|
||||
1File: ICODE.H Page 5
|
||||
237 struct { short loword; short hiword; };
|
||||
238 #endif
|
||||
239
|
||||
240 #define EXPSIZE 1024
|
||||
241 int exprarea[EXPSIZE];
|
||||
242
|
||||
243 /* v6io buffer declaration */
|
||||
244 #define BLEN 512
|
||||
245
|
||||
246 struct iobuf{
|
||||
247 int fildes;
|
||||
248 int nunused;
|
||||
249 char *xfree;
|
||||
250 char buff[BLEN];
|
||||
251 };
|
||||
Reference in New Issue
Block a user