diff options
Diffstat (limited to 'miasm2/ir/translators/C.py')
| -rw-r--r-- | miasm2/ir/translators/C.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/miasm2/ir/translators/C.py b/miasm2/ir/translators/C.py index a730b1d8..007f8378 100644 --- a/miasm2/ir/translators/C.py +++ b/miasm2/ir/translators/C.py @@ -59,6 +59,10 @@ class TranslatorC(Translator): if expr.op == 'parity': return "parity(%s&0x%x)" % (cls.from_expr(expr.args[0]), size2mask(expr.args[0].size)) + elif expr.op in ['bsr', 'bsf']: + return "x86_%s(%s, 0x%x)" % (expr.op, + cls.from_expr(expr.args[0]), + expr.args[0].size) elif expr.op == '!': return "(~ %s)&0x%x" % (cls.from_expr(expr.args[0]), size2mask(expr.args[0].size)) @@ -102,10 +106,6 @@ class TranslatorC(Translator): cls.from_expr(expr.args[0]), cls.from_expr(expr.args[1]), size2mask(expr.args[0].size)) - elif expr.op in ['bsr', 'bsf']: - return 'my_%s(%s, %s)' % (expr.op, - cls.from_expr(expr.args[0]), - cls.from_expr(expr.args[1])) elif (expr.op.startswith('cpuid') or expr.op.startswith("fcom") or expr.op in ["fadd", "fsub", "fdiv", 'fmul', "fscale"]): |