Mercurial > hg-old > index.cgi
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}, |