Mercurial > hg-old > index.cgi
diff lwasm/instab.c @ 346:a82c55070624
Added expression parsing infrastructure and misc fixes
author | lost@starbug |
---|---|
date | Sat, 27 Mar 2010 19:04:03 -0600 |
parents | 7416c3f9c321 |
children | 1649bc7bda5a |
line wrap: on
line diff
--- a/lwasm/instab.c Thu Mar 25 23:17:54 2010 -0600 +++ b/lwasm/instab.c Sat Mar 27 19:04:03 2010 -0600 @@ -26,11 +26,19 @@ #define __instab_c_seen__ #include "instab.h" -// don't need to parse anything for inh -// so it can just be NULL -#define insn_parse_inh NULL +// inherent +extern PARSEFUNC(insn_parse_inh); +extern RESOLVEFUNC(insn_resolve_inh); -extern RESOLVEFUNC(insn_resolve_inh); +// MACRO pseudo op +extern PARSEFUNC(pseudo_parse_macro); +#define pseudo_resolve_macro NULL + +// ENDM pseudo op +extern PARSEFUNC(pseudo_parse_endm); +#define pseudo_resolve_endm NULL + + extern PARSEFUNC(insn_parse_gen8); extern RESOLVEFUNC(insn_resolve_gen8); extern PARSEFUNC(insn_parse_gen16); @@ -116,10 +124,6 @@ extern RESOLVEFUNC(pseudo_resolve_else); extern PARSEFUNC(pseudo_parse_endc); extern RESOLVEFUNC(pseudo_resolve_endc); -extern PARSEFUNC(pseudo_parse_macro); -extern RESOLVEFUNC(pseudo_resolve_macro); -extern PARSEFUNC(pseudo_parse_endm); -extern RESOLVEFUNC(pseudo_resolve_endm); extern PARSEFUNC(pseudo_parse_setdp); extern RESOLVEFUNC(pseudo_resolve_setdp); extern PARSEFUNC(pseudo_parse_set); @@ -321,8 +325,9 @@ { "nega", { 0x40, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, lwasm_insn_normal}, { "negb", { 0x50, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, lwasm_insn_normal}, { "negd", { 0x1040, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, lwasm_insn_is6309}, +*/ { "nop", { 0x12, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, lwasm_insn_normal}, - +/* { "oim", { 0x01, 0x61, 0x71, -1 }, insn_parse_logicmem, insn_resolve_logicmem, lwasm_insn_is6309}, { "ora", { 0x9a, 0xaa, 0xba, 0x8a}, insn_parse_gen8, insn_resolve_gen8, lwasm_insn_normal}, { "orb", { 0xda, 0xea, 0xfa, 0xca}, insn_parse_gen8, insn_resolve_gen8, lwasm_insn_normal}, @@ -463,9 +468,10 @@ { "ifdef", { -1, -1, -1, -1}, pseudo_parse_ifdef, pseudo_resolve_ifdef, lwasm_insn_cond}, { "ifndef", { -1, -1, -1, -1}, pseudo_parse_ifndef, pseudo_resolve_ifndef, lwasm_insn_cond}, +*/ { "macro", { -1, -1, -1, -1}, pseudo_parse_macro, pseudo_resolve_macro, lwasm_insn_cond | lwasm_insn_setsym}, { "endm", { -1, -1, -1, -1}, pseudo_parse_endm, pseudo_resolve_endm, lwasm_insn_cond | lwasm_insn_setsym | lwasm_insn_endm}, - +/* { "setdp", { -1, -1, -1, -1}, pseudo_parse_setdp, pseudo_resolve_setdp, lwasm_insn_normal}, { "set", { -1, -1, -1, -1}, pseudo_parse_set, pseudo_resolve_set, lwasm_insn_setsym},