about summary refs log tree commit diff stats
path: root/miasm2/arch/arm/sem.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2015-02-23 13:35:38 +0100
committerCamille Mougey <commial@gmail.com>2015-02-23 13:35:38 +0100
commit4713279e25625b33b8867c35d7da686781b8b9a7 (patch)
treedf358b3d6cc18ca7f8d4060b5266c394a3ce299f /miasm2/arch/arm/sem.py
parent855bc7be4f06a0ea7eb4c8a6f009b21703272a30 (diff)
parent319c5da3966c9d29ab50c241562dc92b9e0fdc27 (diff)
downloadmiasm-4713279e25625b33b8867c35d7da686781b8b9a7.tar.gz
miasm-4713279e25625b33b8867c35d7da686781b8b9a7.zip
Merge pull request #83 from serpilliere/expr_immutable
Expr immutable
Diffstat (limited to '')
-rw-r--r--miasm2/arch/arm/sem.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/miasm2/arch/arm/sem.py b/miasm2/arch/arm/sem.py
index 06f6bddf..bbab8d59 100644
--- a/miasm2/arch/arm/sem.py
+++ b/miasm2/arch/arm/sem.py
@@ -1193,8 +1193,9 @@ class ir_arml(ir):
                     [(args[-1].args[0][1:], 0, 31), (cf, 31, 32)])
             elif (args[-1].op in ['<<', '>>', '<<a', 'a>>', '<<<', '>>>'] and
                   isinstance(args[-1].args[-1], ExprId)):
-                args[-1].args = args[-1].args[:-1] + (
-                    args[-1].args[-1][:8].zeroExtend(32),)
+                args[-1] = ExprOp(args[-1].op,
+                                  args[-1].args[0],
+                                  args[-1].args[-1][:8].zeroExtend(32))
         instr_ir, extra_ir = get_mnemo_expr(self, instr, *args)
         # if self.name.startswith('B'):
         #    return instr_ir, extra_ir