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);