Mercurial > hg > index.cgi
changeset 166:324f28905144
Fixed problem with rmb, etc., not working right wrt line address when not in os9 mode
author | lost@l-w.ca |
---|---|
date | Mon, 29 Aug 2011 18:30:55 -0600 |
parents | c45f23ae79e6 |
children | 872fa82680e1 |
files | lwasm/pass1.c |
diffstat | 1 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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;