comparison lwasm/instab.c @ 351:4dba8c7e242c

conditional pseudo ops added
author lost@starbug
date Sat, 27 Mar 2010 23:37:30 -0600
parents f5666775d76f
children f5b77989f675
comparison
equal deleted inserted replaced
350:f5666775d76f 351:4dba8c7e242c
102 #define pseudo_emit_org NULL 102 #define pseudo_emit_org NULL
103 103
104 extern PARSEFUNC(pseudo_parse_equ); 104 extern PARSEFUNC(pseudo_parse_equ);
105 #define pseudo_resolve_equ NULL 105 #define pseudo_resolve_equ NULL
106 #define pseudo_emit_equ NULL 106 #define pseudo_emit_equ NULL
107
108 extern PARSEFUNC(pseudo_parse_set);
109 #define pseudo_resolve_set NULL
110 #define pseudo_emit_set NULL
111
112 extern PARSEFUNC(pseudo_parse_setdp);
113 #define pseudo_resolve_setdp NULL
114 #define pseudo_emit_setdp NULL
115
116 extern PARSEFUNC(pseudo_parse_ifp1);
117 #define pseudo_resolve_ifp1 NULL
118 #define pseudo_emit_ifp1 NULL
119
120 extern PARSEFUNC(pseudo_parse_ifp2);
121 #define pseudo_resolve_ifp2 NULL
122 #define pseudo_emit_ifp2 NULL
123
124 extern PARSEFUNC(pseudo_parse_ifne);
125 #define pseudo_resolve_ifne NULL
126 #define pseudo_emit_ifne NULL
127
128 extern PARSEFUNC(pseudo_parse_ifeq);
129 #define pseudo_resolve_ifeq NULL
130 #define pseudo_emit_ifeq NULL
131
132 extern PARSEFUNC(pseudo_parse_iflt);
133 #define pseudo_resolve_iflt NULL
134 #define pseudo_emit_iflt NULL
135
136 extern PARSEFUNC(pseudo_parse_ifle);
137 #define pseudo_resolve_ifle NULL
138 #define pseudo_emit_ifle NULL
139
140 extern PARSEFUNC(pseudo_parse_ifgt);
141 #define pseudo_resolve_ifgt NULL
142 #define pseudo_emit_ifgt NULL
143
144 extern PARSEFUNC(pseudo_parse_ifge);
145 #define pseudo_resolve_ifge NULL
146 #define pseudo_emit_ifge NULL
147
148 extern PARSEFUNC(pseudo_parse_ifdef);
149 #define pseudo_resolve_ifdef NULL
150 #define pseudo_emit_ifdef NULL
151
152 extern PARSEFUNC(pseudo_parse_ifndef);
153 #define pseudo_resolve_ifndef NULL
154 #define pseudo_emit_ifndef NULL
155
156 extern PARSEFUNC(pseudo_parse_endc);
157 #define pseudo_resolve_endc NULL
158 #define pseudo_emit_endc NULL
159
160 extern PARSEFUNC(pseudo_parse_else);
161 #define pseudo_resolve_else NULL
162 #define pseudo_emit_else NULL
107 163
108 instab_t instab[] = 164 instab_t instab[] =
109 { 165 {
110 /* 166 /*
111 { "abx", { 0x3a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, lwasm_emit_inh, lwasm_insn_normal}, 167 { "abx", { 0x3a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, lwasm_emit_inh, lwasm_insn_normal},
398 454
399 { "align", { -1, -1, -1, -1 }, pseudo_parse_align, pseudo_resolve_align, pseudo_emit_align, lwasm_insn_normal}, 455 { "align", { -1, -1, -1, -1 }, pseudo_parse_align, pseudo_resolve_align, pseudo_emit_align, lwasm_insn_normal},
400 456
401 { "error", { -1, -1, -1, -1}, pseudo_parse_error, pseudo_resolve_error, pseudo_emit_error, lwasm_insn_normal}, 457 { "error", { -1, -1, -1, -1}, pseudo_parse_error, pseudo_resolve_error, pseudo_emit_error, lwasm_insn_normal},
402 458
459 */
403 // these are *dangerous* 460 // these are *dangerous*
404 { "ifp1", { -1, -1, -1, -1}, pseudo_parse_ifp1, pseudo_resolve_ifp1, pseudo_emit_ifp1, lwasm_insn_cond}, 461 { "ifp1", { -1, -1, -1, -1}, pseudo_parse_ifp1, pseudo_resolve_ifp1, pseudo_emit_ifp1, lwasm_insn_cond},
405 { "ifp2", { -1, -1, -1, -1}, pseudo_parse_ifp2, pseudo_resolve_ifp2, pseudo_emit_ifp2, lwasm_insn_cond}, 462 { "ifp2", { -1, -1, -1, -1}, pseudo_parse_ifp2, pseudo_resolve_ifp2, pseudo_emit_ifp2, lwasm_insn_cond},
406 463
407 { "ifeq", { -1, -1, -1, -1}, pseudo_parse_ifeq, pseudo_resolve_ifeq, pseudo_emit_ifeq, lwasm_insn_cond}, 464 { "ifeq", { -1, -1, -1, -1}, pseudo_parse_ifeq, pseudo_resolve_ifeq, pseudo_emit_ifeq, lwasm_insn_cond},
414 { "endc", { -1, -1, -1, -1}, pseudo_parse_endc, pseudo_resolve_endc, pseudo_emit_endc, lwasm_insn_cond}, 471 { "endc", { -1, -1, -1, -1}, pseudo_parse_endc, pseudo_resolve_endc, pseudo_emit_endc, lwasm_insn_cond},
415 { "else", { -1, -1, -1, -1}, pseudo_parse_else, pseudo_resolve_else, pseudo_emit_else, lwasm_insn_cond}, 472 { "else", { -1, -1, -1, -1}, pseudo_parse_else, pseudo_resolve_else, pseudo_emit_else, lwasm_insn_cond},
416 { "ifdef", { -1, -1, -1, -1}, pseudo_parse_ifdef, pseudo_resolve_ifdef, pseudo_emit_ifdef, lwasm_insn_cond}, 473 { "ifdef", { -1, -1, -1, -1}, pseudo_parse_ifdef, pseudo_resolve_ifdef, pseudo_emit_ifdef, lwasm_insn_cond},
417 { "ifndef", { -1, -1, -1, -1}, pseudo_parse_ifndef, pseudo_resolve_ifndef, pseudo_emit_ifndef, lwasm_insn_cond}, 474 { "ifndef", { -1, -1, -1, -1}, pseudo_parse_ifndef, pseudo_resolve_ifndef, pseudo_emit_ifndef, lwasm_insn_cond},
418 475
419 */
420 { "macro", { -1, -1, -1, -1}, pseudo_parse_macro, pseudo_resolve_macro, pseudo_emit_macro, lwasm_insn_cond | lwasm_insn_setsym}, 476 { "macro", { -1, -1, -1, -1}, pseudo_parse_macro, pseudo_resolve_macro, pseudo_emit_macro, lwasm_insn_cond | lwasm_insn_setsym},
421 { "endm", { -1, -1, -1, -1}, pseudo_parse_endm, pseudo_resolve_endm, pseudo_emit_endm, lwasm_insn_cond | lwasm_insn_setsym | lwasm_insn_endm}, 477 { "endm", { -1, -1, -1, -1}, pseudo_parse_endm, pseudo_resolve_endm, pseudo_emit_endm, lwasm_insn_cond | lwasm_insn_setsym | lwasm_insn_endm},
422 /* 478
423 { "setdp", { -1, -1, -1, -1}, pseudo_parse_setdp, pseudo_resolve_setdp, pseudo_emit_setdp, lwasm_insn_normal}, 479 { "setdp", { -1, -1, -1, -1}, pseudo_parse_setdp, pseudo_resolve_setdp, pseudo_emit_setdp, lwasm_insn_normal},
424 { "set", { -1, -1, -1, -1}, pseudo_parse_set, pseudo_resolve_set, pseudo_emit_set, lwasm_insn_setsym}, 480 { "set", { -1, -1, -1, -1}, pseudo_parse_set, pseudo_resolve_set, pseudo_emit_set, lwasm_insn_setsym},
481 /*
425 482
426 { "section", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal}, 483 { "section", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal},
427 { "sect", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal}, 484 { "sect", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal},
428 { "ends", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal}, 485 { "ends", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal},
429 { "endsect", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal}, 486 { "endsect", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal},