about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/arch/aarch64/sem.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/miasm2/arch/aarch64/sem.py b/miasm2/arch/aarch64/sem.py
index a17c0f14..646065f4 100644
--- a/miasm2/arch/aarch64/sem.py
+++ b/miasm2/arch/aarch64/sem.py
@@ -637,8 +637,10 @@ def cbnz(arg1, arg2):
 @sbuild.parse
 def tbz(arg1, arg2, arg3):
     bitmask = m2_expr.ExprInt(1, arg1.size) << arg2
-    dst = m2_expr.ExprId(
-        ir.get_next_loc_key(instr), 64) if arg1 & bitmask else arg3
+    dst = m2_expr.ExprLoc(
+        ir.get_next_loc_key(instr),
+        64
+    ) if arg1 & bitmask else arg3
     PC = dst
     ir.IRDst = dst
 
@@ -646,8 +648,10 @@ def tbz(arg1, arg2, arg3):
 @sbuild.parse
 def tbnz(arg1, arg2, arg3):
     bitmask = m2_expr.ExprInt(1, arg1.size) << arg2
-    dst = arg3 if arg1 & bitmask else m2_expr.ExprId(
-        ir.get_next_loc_key(instr), 64)
+    dst = arg3 if arg1 & bitmask else m2_expr.ExprLoc(
+        ir.get_next_loc_key(instr),
+        64
+    )
     PC = dst
     ir.IRDst = dst