# HG changeset patch # User lost@l-w.ca # Date 1314664255 21600 # Node ID 324f28905144da13e12869fff9014df0ad3efdca # Parent c45f23ae79e648d9b5e2e46278e16b3d667dd772 Fixed problem with rmb, etc., not working right wrt line address when not in os9 mode diff -r c45f23ae79e6 -r 324f28905144 lwasm/pass1.c --- a/lwasm/pass1.c Sun Aug 28 17:03:43 2011 -0600 +++ b/lwasm/pass1.c Mon Aug 29 18:30:55 2011 -0600 @@ -141,10 +141,17 @@ // lw_expr_simplify(cl -> addr, as); // set the data address if relevant - te = lw_expr_build(lw_expr_type_special, lwasm_expr_linedlen, cl -> prev); - cl -> daddr = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, cl -> prev -> daddr, te); - lw_expr_destroy(te); - lwasm_reduce_expr(as, cl -> daddr); + if (as -> output_format == OUTPUT_OS9) + { + te = lw_expr_build(lw_expr_type_special, lwasm_expr_linedlen, cl -> prev); + cl -> daddr = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, cl -> prev -> daddr, te); + lw_expr_destroy(te); + lwasm_reduce_expr(as, cl -> daddr); + } + else + { + cl -> daddr = lw_expr_copy(cl -> addr); + } // carry DP value forward cl -> dpval = cl -> prev -> dpval;