Mercurial > hg-old > index.cgi
comparison lwasm/lwasm.h @ 351:4dba8c7e242c
conditional pseudo ops added
author | lost@starbug |
---|---|
date | Sat, 27 Mar 2010 23:37:30 -0600 |
parents | dcd2978a7d18 |
children | faa97115952e |
comparison
equal
deleted
inserted
replaced
350:f5666775d76f | 351:4dba8c7e242c |
---|---|
97 int symset; // set if the line symbol was consumed by the instruction | 97 int symset; // set if the line symbol was consumed by the instruction |
98 char *sym; // symbol, if any, on the line | 98 char *sym; // symbol, if any, on the line |
99 unsigned char *output; // output bytes | 99 unsigned char *output; // output bytes |
100 int outputl; // size of output | 100 int outputl; // size of output |
101 int outputbl; // size of output buffer | 101 int outputbl; // size of output buffer |
102 int dpval; // direct page value | |
102 lwasm_error_t *err; // list of errors | 103 lwasm_error_t *err; // list of errors |
104 lwasm_error_t *warn; // list of errors | |
103 line_t *prev; // previous line | 105 line_t *prev; // previous line |
104 line_t *next; // next line | 106 line_t *next; // next line |
105 | 107 |
106 struct line_expr_s *exprs; // expressions used during parsing | 108 struct line_expr_s *exprs; // expressions used during parsing |
107 char *lstr; // string passed forward | 109 char *lstr; // string passed forward |
146 int flags; // assembly flags | 148 int flags; // assembly flags |
147 int pragmas; // pragmas currently in effect | 149 int pragmas; // pragmas currently in effect |
148 int errorcount; // number of errors encountered | 150 int errorcount; // number of errors encountered |
149 int inmacro; // are we in a macro? | 151 int inmacro; // are we in a macro? |
150 int skipcond; // skipping a condition? | 152 int skipcond; // skipping a condition? |
153 int skipcount; // depth of "skipping" | |
151 int skipmacro; // are we skipping in a macro? | 154 int skipmacro; // are we skipping in a macro? |
152 int endseen; // have we seen an "end" pseudo? | 155 int endseen; // have we seen an "end" pseudo? |
153 int execaddr; // address from "end" | 156 int execaddr; // address from "end" |
154 | 157 |
155 line_t *line_head; // start of lines list | 158 line_t *line_head; // start of lines list |
179 #endif | 182 #endif |
180 | 183 |
181 #ifndef ___lwasm_c_seen___ | 184 #ifndef ___lwasm_c_seen___ |
182 | 185 |
183 extern void lwasm_register_error(asmstate_t *as, line_t *cl, const char *msg, ...); | 186 extern void lwasm_register_error(asmstate_t *as, line_t *cl, const char *msg, ...); |
187 extern void lwasm_register_warning(asmstate_t *as, line_t *cl, const char *msg, ...); | |
184 extern int lwasm_next_context(asmstate_t *as); | 188 extern int lwasm_next_context(asmstate_t *as); |
185 extern void lwasm_emit(line_t *cl, int byte); | 189 extern void lwasm_emit(line_t *cl, int byte); |
186 extern void lwasm_emitop(line_t *cl, int opc); | 190 extern void lwasm_emitop(line_t *cl, int opc); |
187 | 191 |
188 extern void lwasm_save_expr(line_t *cl, int id, lw_expr_t expr); | 192 extern void lwasm_save_expr(line_t *cl, int id, lw_expr_t expr); |