about summary refs log tree commit diff stats
path: root/miasm/arch/ia32_sem.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm/arch/ia32_sem.py')
-rw-r--r--miasm/arch/ia32_sem.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/miasm/arch/ia32_sem.py b/miasm/arch/ia32_sem.py
index 74237139..ac1f9b23 100644
--- a/miasm/arch/ia32_sem.py
+++ b/miasm/arch/ia32_sem.py
@@ -981,11 +981,21 @@ def seta(info, a):
     e.append(ExprAff(a, ExprCond(ExprOp('&', ExprOp('==', cf, ExprInt(uint32(0))), ExprOp('==', zf, ExprInt(uint32(0)))), ExprInt(tab_uintsize[a.get_size()](1)), ExprInt(tab_uintsize[a.get_size()](0)))))
     return e
 
+def setae(info, a):
+    e = []
+    e.append(ExprAff(a, ExprCond(ExprOp('==', cf, ExprInt(uint32(0))), ExprInt(tab_uintsize[a.get_size()](1)), ExprInt(tab_uintsize[a.get_size()](0)))))
+    return e
+
 def setb(info, a):
     e = []
     e.append(ExprAff(a, ExprCond(ExprOp('==', cf, ExprInt(uint32(1))), ExprInt(tab_uintsize[a.get_size()](1)), ExprInt(tab_uintsize[a.get_size()](0)))))
     return e
 
+def setbe(info, a):
+    e = []
+    e.append(ExprAff(a, ExprCond(ExprOp('&', ExprOp('==', cf, ExprInt(uint32(1))), ExprOp('==', zf, ExprInt(uint32(1)))), ExprInt(tab_uintsize[a.get_size()](1)), ExprInt(tab_uintsize[a.get_size()](0)))))
+    return e
+
 def setns(info, a):
     e = []
     e.append(ExprAff(a, ExprCond(ExprOp('==', nf, ExprInt(uint32(0))), ExprInt(tab_uintsize[a.get_size()](1)), ExprInt(tab_uintsize[a.get_size()](0)))))
@@ -2056,7 +2066,9 @@ mnemo_func = {'mov': mov,
               'setg':setg,
               'setge':setge,
               'seta':seta,
+              'setae':setae,
               'setb':setb,
+              'setbe':setbe,
               'setns':setns,
               'sets':sets,
               'seto':seto,