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},