summaryrefslogtreecommitdiff
path: root/bin86-0.3/as/proto.h
blob: 0b70a4bdc15dc96dc02bc90c0d70246874395cae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
/*
 *   bin86/as/proto.h
 *
 *   Copyright (C) 1992 Bruce Evans
 */

/* extern functions */

#if __STDC__
#define P(x) x
#else
#define P(x) ()
#endif

/* as.c */
int main P((int argc, char **argv));
void as_abort P((char *message));
void finishup P((void));
void initp1p2 P((void));

/* assemble.c */
void assemble P((void));

/* error.c */
char *build_error_message P((error_pt errnum, char *buf));

/* express.c */
void absexpres P((void));
void chkabs P((void));
void nonimpexpres P((void));
void showrelbad P((void));
void symabsexpres P((void));
void symexpres P((void));
void expres P((void));
void factor P((void));
void scompare P((void));

/* genbin.c */
void binheader P((void));
void bintrailer P((void));
void genbin P((void));
void initbin P((void));
void putbin P((opcode_pt c));

/* genlist.c */
char *build_2hex_number P((unsigned num, char *where));
char *build_number P((unsigned num, unsigned width, char *where));
void error P((error_pt errnum));
void listline P((void));
void writec P((int c));
void writenl P((void));
void writeoff P((offset_t offset));
void writes P((char *s));
void writesn P((char *s));
void writew P((unsigned word));

/* genobj.c */
void accumulate_rmb P((offset_t offset));
void flushobj P((void));
void genobj P((void));
void initobj P((void));
void objheader P((void));
void objtrailer P((void));
void putabs P((opcode_pt c));
void putobj P((opcode_pt c));

/* gensym.c */
void gensym P((void));

/* macro.c */
void entermac P((struct sym_s *symptr));
void pmacro P((void));

/* mops.c */
#ifdef I80386
void mbcc P((void));
void mbswap P((void));
void mcall P((void));
void mcalli P((void));
void mdivmul P((void));
void menter P((void));
void mEwGw P((void));
void mExGx P((void));
void mf_inher P((void));
void mf_m P((void));
void mf_m2 P((void));
void mf_m2_ax P((void));
void mf_m2_m4 P((void));
void mf_m2_m4_m8 P((void));
void mf_m4_m8_optst P((void));
void mf_m4_m8_st P((void));
void mf_m4_m8_stst P((void));
void mf_m4_m8_m10_st P((void));
void mf_m10 P((void));
void mf_optst P((void));
void mf_st P((void));
void mf_stst P((void));
void mf_w_inher P((void));
void mf_w_m P((void));
void mf_w_m2 P((void));
void mf_w_m2_ax P((void));
void mgroup1 P((void));
void mgroup2 P((void));
void mgroup6 P((void));
void mgroup7 P((void));
void mgroup8 P((void));
void mGvEv P((void));
void mGvMa P((void));
void mGvMp P((void));
void mimul P((void));
void min P((void));
void mincdec P((void));
void minher P((void));
void minher16 P((void));
void minher32 P((void));
void minhera P((void));
void mint P((void));
void mjcc P((void));
void mjcxz P((void));
void mlea P((void));
void mmov P((void));
void mmovx P((void));
void mnegnot P((void));
void mout P((void));
void mpushpop P((void));
void mret P((void));
void mseg P((void));
void msetcc P((void));
void mshdouble P((void));
void mtest P((void));
void mxchg P((void));
#endif				/* I80386 */

#ifdef MC6809
void mall P((void));
void malter P((void));
void mimmed P((void));
void mindex P((void));
void minher P((void));
void mlong P((void));
void msstak P((void));
void mswap P((void));
void mustak P((void));
#endif				/* MC6809 */

void getcomma P((void));
void mshort P((void));

/* pops.c */
bool_pt checksegrel P((struct sym_s *symptr));
void checkdatabounds P((void));
void datatoobig P((void));
void fatalerror P((error_pt errnum));
void labelerror P((error_pt errnum));
void palign P((void));
void pblkw P((void));
void pblock P((void));
void pbss P((void));
void pcomm P((void));
void pcomm1 P((void));
void pdata P((void));
void pelse P((void));
void pelseif P((void));
void pelsifc P((void));
void pendb P((void));
void pendif P((void));
void penter P((void));
void pentry P((void));
void pequ P((void));
void peven P((void));
void pexport P((void));
void pfail P((void));
void pfcb P((void));
void pfcc P((void));
void pfdb P((void));
void pfqb P((void));
void pglobl P((void));
void pident P((void));
void pif P((void));
void pifc P((void));
void pimport P((void));
void plcomm P((void));
void plcomm1 P((void));
void plist P((void));
void ploc P((void));
void pmaclist P((void));
void pmap P((void));
void porg P((void));
void prmb P((void));
void psect P((void));
void pset P((void));
void psetdp P((void));
void ptext P((void));
void puse16 P((void));
void puse32 P((void));
void pwarn P((void));
void showlabel P((void));

/* readsrc.c */
void initsource P((void));
fd_t open_input P((char *name));
void pget P((void));
void pproceof P((void));
void readline P((void));
void skipline P((void));

/* scan.c */
void context_hexconst P((void));
void getsym P((void));
void getsym_nolookup P((void));
void initscan P((void));

/* table.c */
void inst_keywords P((void));
struct sym_s *lookup P((void));
void statistics P((void));

/* type.c */
void u2c2 P((char *buf, u16_pt offset));
void u4c4 P((char *buf, u32_t offset));
void u2cn P((char *buf, u16_pt offset, unsigned count));
void u4cn P((char *buf, u32_t offset, unsigned count));
bool_pt typeconv_init P((bool_pt big_endian, bool_pt long_big_endian));

char *strrchr(const char *s, int c);
void *malloc(int c);

#if 0
/* library - fcntl.h */
int creat P((const char *__path, int __mode));
int open P((const char *__path, int __oflag, ...));

/* library - stdlib.h */
void abort P((void));
void exit P((int __status));
void *malloc P((unsigned __size));

/* library - string.h */
int memcmp P((const void *__s1, const void *__s2, unsigned __max));
void *memset P((void *__s, int __ch, unsigned __nbytes));
char *strchr P((const char *__s, int __ch));
int strcmp P((const char *__s1, const char *__s2));
char *strcpy P((char *__target, const char *__source));
unsigned strlen P((const char *__s));
int strncmp P((const char *__s1, const char *__s2, int __max));
char *strrchr P((const char *__s, int __ch));

/* library - unistd.h */
char *brk P((char *__adr));
int close P((int __fd));
long lseek P((int __fd, long __offset, int __whence));
int read P((int __fd, char *__buf, unsigned __nbytes));
char *sbrk P((int __incr));
int write P((int __fd, char *__buf, unsigned __nbytes));

#endif