about summary refs log tree commit diff stats
path: root/miasm2/arch/arm/sem.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm2/arch/arm/sem.py')
-rw-r--r--miasm2/arch/arm/sem.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/miasm2/arch/arm/sem.py b/miasm2/arch/arm/sem.py
index be44061e..1b7ad47f 100644
--- a/miasm2/arch/arm/sem.py
+++ b/miasm2/arch/arm/sem.py
@@ -5,6 +5,7 @@ from miasm2.arch.arm.regs import *
 
 
 # liris.cnrs.fr/~mmrissa/lib/exe/fetch.php?media=armv7-a-r-manual.pdf
+EXCEPT_SOFT_BP = (1 << 1)
 
 EXCEPT_PRIV_INSN = (1 << 17)
 
@@ -948,6 +949,13 @@ def uxtab(ir, instr, a, b, c):
     return e
 
 
+def bkpt(ir, instr, a):
+    e = []
+    e.append(ExprAff(exception_flags, ExprInt32(EXCEPT_SOFT_BP)))
+    e.append(ExprAff(bp_num, a))
+    return e
+
+
 
 COND_EQ = 0
 COND_NE = 1
@@ -1093,6 +1101,7 @@ mnemo_condm0 = {'add': add,
                 'rev': rev,
                 'clz': clz,
                 'uxtab': uxtab,
+                'bkpt': bkpt,
                 }
 
 mnemo_condm1 = {'adds': add,