Mercurial > hg-old > index.cgi
comparison lwasm/insn_rel.c @ 371:9c24d9d485b9
Much bugfixing
author | lost@starbug |
---|---|
date | Wed, 21 Apr 2010 23:29:18 -0600 |
parents | 0cf4948d53b4 |
children |
comparison
equal
deleted
inserted
replaced
370:6b33faa21a0a | 371:9c24d9d485b9 |
---|---|
51 e1 = lw_expr_build(lw_expr_type_special, lwasm_expr_linelen, l); | 51 e1 = lw_expr_build(lw_expr_type_special, lwasm_expr_linelen, l); |
52 e2 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, e1, l -> addr); | 52 e2 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, e1, l -> addr); |
53 lw_expr_destroy(e1); | 53 lw_expr_destroy(e1); |
54 e1 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_minus, t, e2); | 54 e1 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_minus, t, e2); |
55 lw_expr_destroy(e2); | 55 lw_expr_destroy(e2); |
56 lwasm_save_expr(l, 0, e2); | 56 lwasm_save_expr(l, 0, e1); |
57 } | 57 } |
58 | 58 |
59 EMITFUNC(insn_emit_rel8) | 59 EMITFUNC(insn_emit_rel8) |
60 { | 60 { |
61 lw_expr_t e; | 61 lw_expr_t e; |
100 e1 = lw_expr_build(lw_expr_type_special, lwasm_expr_linelen, l); | 100 e1 = lw_expr_build(lw_expr_type_special, lwasm_expr_linelen, l); |
101 e2 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, e1, l -> addr); | 101 e2 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, e1, l -> addr); |
102 lw_expr_destroy(e1); | 102 lw_expr_destroy(e1); |
103 e1 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_minus, t, e2); | 103 e1 = lw_expr_build(lw_expr_type_oper, lw_expr_oper_minus, t, e2); |
104 lw_expr_destroy(e2); | 104 lw_expr_destroy(e2); |
105 lwasm_save_expr(l, 0, e2); | 105 lwasm_save_expr(l, 0, e1); |
106 } | 106 } |
107 | 107 |
108 EMITFUNC(insn_emit_rel16) | 108 EMITFUNC(insn_emit_rel16) |
109 { | 109 { |
110 lw_expr_t e; | 110 lw_expr_t e; |