mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 09:54:20 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
1File: CSKEL.H Page 1
|
||||
1 /*
|
||||
2 Copyright 1981
|
||||
3 Alcyon Corporation
|
||||
4 8474 Commerce Av.
|
||||
5 San Diego, Ca. 92121
|
||||
6 */
|
||||
7
|
||||
8 /*built-in literals*/
|
||||
9 #define MOV 128
|
||||
10 #define MOVL 129
|
||||
11 #define JSR 130
|
||||
12 #define CLR 131
|
||||
13 #define CLRL 132
|
||||
14 #define EXTW 133
|
||||
15 #define EXTL 134
|
||||
16 #define LEA 135
|
||||
17 #define STK 136
|
||||
18
|
||||
19 /*built-in macros*/
|
||||
20 #define TREE 141
|
||||
21 #define LEFT 142
|
||||
22 #define RIGHT 143
|
||||
23 #define LOFFSET 144
|
||||
24 #define ROFFSET 145
|
||||
25 #define LADDR 146
|
||||
26 #define RADDR 147
|
||||
27 #define CR 148
|
||||
28 #define NR 149
|
||||
29 #define CAR 150
|
||||
30 #define NAR 151
|
||||
31 #define TLEFT 152
|
||||
32 #define TRIGHT 153
|
||||
33 #define TEITHER 154
|
||||
34 #define TLEFTL 155
|
||||
35 #define OP 156
|
||||
36 #define AOP 157
|
||||
37 #define MODSWAP 158
|
||||
38 #define EXL 159
|
||||
39 #define EXLR 160
|
||||
40 #define EXLRN 161
|
||||
41 #define EXRL 162
|
||||
42 #define EXRLN 163
|
||||
43 #define PSH 164
|
||||
44 #define POP 165
|
||||
45 #define POP8 166
|
||||
46 #define OPCALL 167
|
||||
47 #define POP4 169
|
||||
48 #define LADDRP 168
|
||||
49
|
||||
50 /*modifiers for compiling sub-trees*/
|
||||
51 #define S_INDR 1 /*indirection*/
|
||||
52 #define S_STACK 2 /*onto stack*/
|
||||
53 #define S_FORCC 4 /*set condition codes*/
|
||||
54 #define S_NEXT 8 /*into next register*/
|
||||
55
|
||||
56 /*Sethy-Ullman values*/
|
||||
57 #define SU_ZERO 0x000 /*zero*/
|
||||
58 #define SU_ONE 0x100 /*one*/
|
||||
59 #define SU_SMALL 0x200 /*constant between 1 and 8*/
|
||||
1File: CSKEL.H Page 2
|
||||
60 #define SU_QUICK 0x300 /*quick constant between -128 and 127*/
|
||||
61 #define SU_CONST 0x400 /*any constant*/
|
||||
62 #define SU_AREG 0x500 /*A register*/
|
||||
63 #define SU_REG 0x600 /*register*/
|
||||
64 #define SU_ADDR 0x700 /*addressable*/
|
||||
65 #define SU_XREG 0x800 /*A register used as data...*/
|
||||
66 #define SU_EASY 0x900 /*easy*/
|
||||
67 #define SU_HARD 0xa00 /*hard*/
|
||||
68 #define SU_VHARD 0xb00 /*very hard ... function calls, etc.*/
|
||||
69 #define SU_ANY 0xf00 /*anything*/
|
||||
70 #define ADDRESSABLE(x) (x->t_su<=SU_ADDR)
|
||||
71 #define NOTADDRESSABLE(x) (x->t_su>SU_ADDR)
|
||||
72 #define LOADABLE(x) (x->t_su<=SU_XREG)
|
||||
73
|
||||
74 /*flag byte (operand type):*/
|
||||
75 #define T_CHAR 1 /*char only*/
|
||||
76 #define T_SHORT 2 /*short*/
|
||||
77 #define T_INT 3 /*int only*/
|
||||
78 #define T_LONG 4 /*long*/
|
||||
79 #define T_UCHAR 5 /*unsigned char*/
|
||||
80 #define T_USHORT 6 /*unsigned short*/
|
||||
81 #define T_UNSN 7 /*unsigned int*/
|
||||
82 #define T_ULONG 8 /*unsigned long*/
|
||||
83 #define T_FLOAT 9 /*float*/
|
||||
84 #define T_DOUB 10 /*double*/
|
||||
85 #define T_ANY 11 /*int or word (implied)*/
|
||||
86 #define T_INDR 0x10 /*pointer type (bit)*/
|
||||
87
|
||||
88 struct skeleton {
|
||||
89 int sk_left;
|
||||
90 int sk_right;
|
||||
91 char *sk_def;
|
||||
92 };
|
||||
Reference in New Issue
Block a user