Mercurial > hg-old > index.cgi
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);