diff src/lwasm.h @ 101:f59c0916753d

Fixed relative branches and PCR addressing to handle constant intra-section references properly
author lost
date Fri, 23 Jan 2009 03:36:27 +0000
parents 81fc353d4d69
children 0ee5f65bccf9
line wrap: on
line diff
--- a/src/lwasm.h	Sat Jan 17 07:35:18 2009 +0000
+++ b/src/lwasm.h	Fri Jan 23 03:36:27 2009 +0000
@@ -196,7 +196,7 @@
 __lwasm_E__ int lwasm_lookupreg2(const char *reglist, char **str);
 __lwasm_E__ int lwasm_lookupreg3(const char *rlist, const char **str);
 
-__lwasm_E__ lwasm_expr_stack_t *lwasm_evaluate_expr(asmstate_t *as, lwasm_line_t *l, const char *inp, const char **outp);
+__lwasm_E__ lwasm_expr_stack_t *lwasm_evaluate_expr(asmstate_t *as, lwasm_line_t *l, const char *inp, const char **outp, int flags);
 
 
 // return next context number and update it
@@ -206,7 +206,8 @@
 // return 0 on ok, -1 on error, 1 if a complex expression was returned
 #define EXPR_NOFLAG			0
 #define EXPR_PASS1CONST		1	// no forward references on pass 1
-
+#define EXPR_SECTCONST		2	// resolve symbols local to section
+#define EXPR_REEVAL			4	// re-evaluate the expression
 __lwasm_E__ int lwasm_expr_result(asmstate_t *as, lwasm_line_t *l, char **inp, int flag, int *val);
 __lwasm_E__ int lwasm_expr_result2(asmstate_t *as, lwasm_line_t *l, char **inp, int flag, int *val, int slot);