Mercurial > hg > index.cgi
diff lwasm/pseudo.c @ 432:58cafa61ab40
Add support for undocumented custom module format (for LW)
Nothing to see here. Move along. These are not the droids you are looking
for.
author | William Astle <lost@l-w.ca> |
---|---|
date | Fri, 18 Nov 2016 21:25:43 -0700 |
parents | 4411a6123716 |
children | 999ae00d0919 |
line wrap: on
line diff
--- a/lwasm/pseudo.c Wed Nov 16 19:36:16 2016 -0700 +++ b/lwasm/pseudo.c Fri Nov 18 21:25:43 2016 -0700 @@ -102,7 +102,7 @@ as->endseen = 1; - if ((as -> output_format != OUTPUT_DECB) && (as -> output_format != OUTPUT_BASIC)) + if ((as -> output_format != OUTPUT_DECB) && (as -> output_format != OUTPUT_BASIC) && (as -> output_format != OUTPUT_LWMOD)) { skip_operand(p); return; @@ -136,9 +136,21 @@ if (addr) { if (!lw_expr_istype(addr, lw_expr_type_int)) - lwasm_register_error(as, l, E_EXEC_ADDRESS); + { + if (as -> output_format == OUTPUT_LWMOD) + { + as -> execaddr_expr = lw_expr_copy(addr); + } + else + { + lwasm_register_error(as, l, E_EXEC_ADDRESS); + } + } else + { + as -> execaddr_expr = NULL; as -> execaddr = lw_expr_intval(addr); + } } as -> endseen = 1; }