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;