Mercurial > hg-old > index.cgi
diff lwasm/insn_gen.c @ 362:4867f18c872f
Added logic memory operands
author | lost@starbug |
---|---|
date | Thu, 01 Apr 2010 20:56:19 -0600 |
parents | 105393e31f20 |
children | eacdae8a1575 |
line wrap: on
line diff
--- a/lwasm/insn_gen.c Thu Apr 01 20:44:57 2010 -0600 +++ b/lwasm/insn_gen.c Thu Apr 01 20:56:19 2010 -0600 @@ -177,12 +177,16 @@ } } -void insn_emit_gen_aux(asmstate_t *as, line_t *l) +void insn_emit_gen_aux(asmstate_t *as, line_t *l, int extra) { lw_expr_t e; e = lwasm_fetch_expr(l, 0); lwasm_emitop(l, instab[l -> insn].ops[l -> lint2]); + + if (extra != -1) + lwasm_emit(l, extra); + if (l, l -> lint2 == 1) { lwasm_emit(l, l -> pb); @@ -220,7 +224,7 @@ EMITFUNC(insn_emit_gen0) { - insn_emit_gen_aux(as, l); + insn_emit_gen_aux(as, l, -1); } PARSEFUNC(insn_parse_gen8) @@ -281,7 +285,7 @@ return; } - insn_emit_gen_aux(as, l); + insn_emit_gen_aux(as, l, -1); } PARSEFUNC(insn_parse_gen16) @@ -342,7 +346,7 @@ return; } - insn_emit_gen_aux(as, l); + insn_emit_gen_aux(as, l, -1); } PARSEFUNC(insn_parse_gen32) @@ -403,7 +407,7 @@ return; } - insn_emit_gen_aux(as, l); + insn_emit_gen_aux(as, l, -1); } PARSEFUNC(insn_parse_imm8)