From a9bdf11a126fc5d82bc0a57972512c379f858afc Mon Sep 17 00:00:00 2001 From: w4kfu Date: Wed, 14 Nov 2018 16:34:54 -0500 Subject: fix simplification that delete affectation Revert "X86 sem : mov assignexpr rot / shift" --- miasm2/jitter/codegen.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'miasm2/jitter/codegen.py') diff --git a/miasm2/jitter/codegen.py b/miasm2/jitter/codegen.py index 6c0e7a9b..e8177ab5 100644 --- a/miasm2/jitter/codegen.py +++ b/miasm2/jitter/codegen.py @@ -170,7 +170,8 @@ class CGen(object): # Simplify high level operators out = [] for irblock in irblocks: - new_irblock = irblock.simplify(expr_simp_high_to_explicit)[1] + new_irblock = self.ir_arch.irbloc_fix_regs_for_mode(irblock, self.ir_arch.attrib) + new_irblock = new_irblock.simplify(expr_simp_high_to_explicit)[1] out.append(new_irblock) irblocks = out @@ -631,13 +632,12 @@ class CGen(object): for instr, irblocks in zip(block.lines, irblocks_list): instr_attrib, irblocks_attributes = self.get_attributes(instr, irblocks, log_mn, log_regs) for index, irblock in enumerate(irblocks): - new_irblock = self.ir_arch.irbloc_fix_regs_for_mode(irblock, self.ir_arch.attrib) - label = str(new_irblock.loc_key) + label = str(irblock.loc_key) out.append("%-40s // %.16X %s" % (label + ":", instr.offset, instr)) if index == 0: out += self.gen_pre_code(instr_attrib) - out += self.gen_irblock(instr_attrib, irblocks_attributes[index], instr_offsets, new_irblock) + out += self.gen_irblock(instr_attrib, irblocks_attributes[index], instr_offsets, irblock) out += self.gen_finalize(block) -- cgit 1.4.1