about summary refs log tree commit diff stats
path: root/miasm/arch/mips32/sem.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm/arch/mips32/sem.py')
-rw-r--r--miasm/arch/mips32/sem.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/miasm/arch/mips32/sem.py b/miasm/arch/mips32/sem.py
index 0e2fca71..649adcaa 100644
--- a/miasm/arch/mips32/sem.py
+++ b/miasm/arch/mips32/sem.py
@@ -3,7 +3,7 @@ from miasm.ir.ir import Lifter, IRBlock, AssignBlock
 from miasm.arch.mips32.arch import mn_mips32
 from miasm.arch.mips32.regs import R_LO, R_HI, PC, RA, ZERO, exception_flags
 from miasm.core.sembuilder import SemBuilder
-from miasm.jitter.csts import EXCEPT_DIV_BY_ZERO, EXCEPT_SOFT_BP
+from miasm.jitter.csts import EXCEPT_DIV_BY_ZERO, EXCEPT_SOFT_BP, EXCEPT_SYSCALL
 
 
 # SemBuilder context
@@ -400,6 +400,11 @@ def break_(ir, instr):
     e.append(m2_expr.ExprAssign(exception_flags, m2_expr.ExprInt(EXCEPT_SOFT_BP, 32)))
     return e, []
 
+def syscall(ir, instr, code):
+    e = []
+    e.append(m2_expr.ExprAssign(exception_flags, m2_expr.ExprInt(EXCEPT_SYSCALL, 32)))
+    return e, []
+
 def ins(ir, instr, a, b, c, d):
     e = []
     pos = int(c)
@@ -611,6 +616,7 @@ mnemo_func.update(
         'break': break_,
         'sb': sb,
         'sh': sh,
+        'syscall': syscall,
     }
 )