Mercurial > hg-old > index.cgi
diff lwasm/pass1.c @ 351:4dba8c7e242c
conditional pseudo ops added
author | lost@starbug |
---|---|
date | Sat, 27 Mar 2010 23:37:30 -0600 |
parents | 1649bc7bda5a |
children | 60568b123281 |
line wrap: on
line diff
--- a/lwasm/pass1.c Sat Mar 27 22:59:15 2010 -0600 +++ b/lwasm/pass1.c Sat Mar 27 23:37:30 2010 -0600 @@ -91,15 +91,20 @@ else { lw_expr_t te; + as -> line_tail -> next = cl; + + // set the line address te = lw_expr_build(lw_expr_type_special, lwasm_expr_linelen, cl -> prev); cl -> addr = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, cl -> prev -> addr, te); lw_expr_destroy(te); lw_expr_simplify(cl -> addr, as); + + // carry DP value forward + cl -> dpval = cl -> prev -> dpval; } as -> line_tail = cl; as -> cl = cl; - // blank lines don't count for anything // except a local symbol context break if (!*line)