OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [Open8 Tools/] [open8_src/] [open8_link/] [defines.h] - Blame information for rev 289

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 178 jshamlet
 
2
#define OBJ_FORMAT_INFO 0
3
#define OBJ_EMPTY_FILL  4
4
#define OBJ_MISC_BITS   5
5
#define OBJ_MORE_BITS   6
6
#define OBJ_ROMBANKS    7
7
#define OBJ_ROMBANKMAP 11
8
 
9
#define LIB_FORMAT_INFO       0
10
#define LIB_SOURCE_FILE_NAMES 4
11
 
12
#define OUTPUT_ROM 0
13
#define OUTPUT_PRG 1
14
 
15
#define SNES_ROM_MODE_LOROM 0
16
#define SNES_ROM_MODE_HIROM 2
17
 
18
#define SNES_ROM_SPEED_SLOWROM 0
19
#define SNES_ROM_SPEED_FASTROM 8
20
 
21
#define WLA_VERSION_OBJ 0
22
#define WLA_VERSION_LIB 1
23
 
24
#define DATA_TYPE_BLOCK   0
25
#define DATA_TYPE_SECTION 1
26
 
27
#define FAILED    1
28
#define SUCCEEDED 0
29
 
30
#define TRUE  1
31
#define FALSE 0
32
 
33
#define STATE_NONE       0
34
#define STATE_OBJECT     1
35
#define STATE_LIBRARY    2
36
#define STATE_HEADER     3
37
#define STATE_FOOTER     4
38
#define STATE_DEFINITION 5
39
 
40
#define SYMBOL_MODE_NONE   0
41
#define SYMBOL_MODE_NOCA5H 1
42
#define SYMBOL_MODE_WLA    2
43
 
44
#define OFF 0
45
#define ON  1
46
 
47
#define NO  0
48
#define YES 1
49
 
50
#define MAX_NAME_LENGTH 63
51
 
52
struct source_file_name {
53
  char *name;
54
  int  id;
55
  struct source_file_name *next;
56
};
57
 
58
struct object_file {
59
  unsigned char *data;
60
  unsigned char *memorymap;
61
  unsigned char *source_file_names;
62
  unsigned char *exported_defines;
63
  unsigned char *data_blocks;
64
  char *name;
65
  int rom_banks;
66
  int format;
67
  int bank;
68
  int slot;
69
  int size;
70
  int base;
71
  int base_defined;
72
  int id;
73
  struct source_file_name *source_file_names_list;
74
  struct object_file *next;
75
};
76
 
77
#define LABEL_STATUS_LABEL      0
78
#define LABEL_STATUS_DEFINE     1
79
#define LABEL_STATUS_STACK      2
80
#define LABEL_STATUS_SYMBOL     3
81
#define LABEL_STATUS_BREAKPOINT 4
82
 
83
struct label {
84
  char name[MAX_NAME_LENGTH + 1];
85
  int file_id;
86
  int file_id_source;
87
  int linenumber;
88
  int rom_address;
89
  int section;
90
  int section_status;
91
  int bank;
92
  int base;
93
  int slot;
94
  int status;
95
  double address;
96
  struct label *next;
97
  struct label *prev;
98
};
99
 
100
#define REFERENCE_TYPE_DIRECT_16BIT   0
101
#define REFERENCE_TYPE_RELATIVE_8BIT  1
102
#define REFERENCE_TYPE_DIRECT_8BIT    2
103
#define REFERENCE_TYPE_DIRECT_24BIT   3
104
#define REFERENCE_TYPE_RELATIVE_16BIT 4
105
 
106
struct reference {
107
  char name[MAX_NAME_LENGTH + 1];
108
  int  address;
109
  int  type;
110
  int  section;
111
  int  section_status;
112
  int  bank;
113
  int  slot;
114
  int  file_id;
115
  int  file_id_source;
116
  int  linenumber;
117
  struct reference *next;
118
  struct reference *prev;
119
};
120
 
121
#define SECTION_STATUS_FREE      0
122
#define SECTION_STATUS_FORCE     1
123
#define SECTION_STATUS_OVERWRITE 2
124
#define SECTION_STATUS_HEADER    3
125
#define SECTION_STATUS_SEMIFREE  4
126
#define SECTION_STATUS_ABSOLUTE  5
127
#define SECTION_STATUS_RAM       6
128
#define SECTION_STATUS_SUPERFREE 7
129
 
130
struct section {
131
  char name[MAX_NAME_LENGTH + 1];
132
  int  file_id;
133
  int  file_id_source;
134
  int  address;
135
  int  output_address;
136
  int  status;
137
  int  bank;
138
  int  slot;
139
  int  size;
140
  int  base;
141
  int  base_defined;
142
  int  library_status;
143
  int  id;
144
  int  i;
145
  int  referenced;
146
  int  alive;
147
  int  alignment;
148
  int  listfile_items;
149
  int  *listfile_ints;
150
  char *listfile_cmds;
151
  unsigned char *data;
152
  struct section *next;
153
  struct section *prev;
154
};
155
 
156
struct slot {
157
  int address;
158
  int size;
159
  int usage;
160
};
161
 
162
#define STACK_ITEM_TYPE_VALUE    0
163
#define STACK_ITEM_TYPE_OPERATOR 1
164
#define STACK_ITEM_TYPE_STRING   2
165
#define STACK_ITEM_TYPE_STACK    4
166
 
167
#define SI_OP_PLUS         0
168
#define SI_OP_MINUS        1
169
#define SI_OP_MULTIPLY     2
170
#define SI_OP_OR           5
171
#define SI_OP_AND          6
172
#define SI_OP_DIVIDE       7
173
#define SI_OP_POWER        8
174
#define SI_OP_SHIFT_LEFT   9
175
#define SI_OP_SHIFT_RIGHT 10
176
#define SI_OP_MODULO      11
177
#define SI_OP_XOR         12
178
#define SI_OP_LOW_BYTE    13
179
#define SI_OP_HIGH_BYTE   14
180
 
181
#define SI_SIGN_POSITIVE 0
182
#define SI_SIGN_NEGATIVE 1
183
 
184
#define STACKS_TYPE_8BIT  0
185
#define STACKS_TYPE_16BIT 1
186
#define STACKS_TYPE_24BIT 2
187
 
188
#define STACK_POSITION_DEFINITION 0
189
#define STACK_POSITION_CODE       1
190
 
191
struct stackitem {
192
  char string[MAX_NAME_LENGTH + 1];
193
  int type;
194
  int sign;
195
  double value;
196
};
197
 
198
struct stack {
199
  struct stackitem *stack;
200
  struct stack *next;
201
  struct stack *prev;
202
  int id;
203
  int under_work;
204
  int computed;
205
  int result;
206
  int position;
207
  int file_id;
208
  int file_id_source;
209
  int stacksize;
210
  int linenumber;
211
  int type;
212
  int bank;
213
  int slot;
214
  int section_status;
215
  int section;
216
  int address;
217
  int memory_address;
218
};

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.