diff options
Diffstat (limited to 'test/arch')
| -rw-r--r-- | test/arch/arm/sem.py | 8 | ||||
| -rw-r--r-- | test/arch/msp430/sem.py | 9 | ||||
| -rw-r--r-- | test/arch/x86/sem.py | 4 |
3 files changed, 10 insertions, 11 deletions
diff --git a/test/arch/arm/sem.py b/test/arch/arm/sem.py index be36e90b..7fcf9e85 100644 --- a/test/arch/arm/sem.py +++ b/test/arch/arm/sem.py @@ -6,12 +6,12 @@ import logging from miasm2.ir.symbexec import symbexec from miasm2.arch.arm.arch import mn_arm as mn, mode_arm as mode -from miasm2.arch.arm.sem import ir_arm as ir +from miasm2.arch.arm.sem import ir_arm as ir_arch from miasm2.arch.arm.regs import * from miasm2.expression.expression import * logging.getLogger('cpuhelper').setLevel(logging.ERROR) -EXCLUDE_REGS = set() +EXCLUDE_REGS = set([ir_arch().IRDst]) def M(addr): @@ -21,12 +21,12 @@ def M(addr): def compute(asm, inputstate={}, debug=False): sympool = dict(regs_init) sympool.update({k: ExprInt_from(k, v) for k, v in inputstate.iteritems()}) - symexec = symbexec(mn, sympool) + interm = ir_arch() + symexec = symbexec(interm, sympool) instr = mn.fromstring(asm, mode) code = mn.asm(instr)[0] instr = mn.dis(code, mode) instr.offset = inputstate.get(PC, 0) - interm = ir() interm.add_instr(instr) symexec.emul_ir_blocs(interm, instr.offset) if debug: diff --git a/test/arch/msp430/sem.py b/test/arch/msp430/sem.py index 55da5d56..5340a4d2 100644 --- a/test/arch/msp430/sem.py +++ b/test/arch/msp430/sem.py @@ -6,13 +6,12 @@ import logging from miasm2.ir.symbexec import symbexec from miasm2.arch.msp430.arch import mn_msp430 as mn, mode_msp430 as mode -from miasm2.arch.msp430.sem import ir_msp430 as ir +from miasm2.arch.msp430.sem import ir_msp430 as ir_arch from miasm2.arch.msp430.regs import * from miasm2.expression.expression import * logging.getLogger('cpuhelper').setLevel(logging.ERROR) -EXCLUDE_REGS = set([res]) - +EXCLUDE_REGS = set([res, ir_arch().IRDst]) def M(addr): return ExprMem(ExprInt_fromsize(16, addr), 16) @@ -21,12 +20,12 @@ def M(addr): def compute(asm, inputstate={}, debug=False): sympool = dict(regs_init) sympool.update({k: ExprInt_from(k, v) for k, v in inputstate.iteritems()}) - symexec = symbexec(mn, sympool) + interm = ir_arch() + symexec = symbexec(interm, sympool) instr = mn.fromstring(asm, mode) code = mn.asm(instr)[0] instr = mn.dis(code, mode) instr.offset = inputstate.get(PC, 0) - interm = ir() interm.add_instr(instr) symexec.emul_ir_blocs(interm, instr.offset) if debug: diff --git a/test/arch/x86/sem.py b/test/arch/x86/sem.py index 64447e13..bd28bd45 100644 --- a/test/arch/x86/sem.py +++ b/test/arch/x86/sem.py @@ -17,7 +17,7 @@ from miasm2.core import parse_asm, asmbloc logging.getLogger('cpuhelper').setLevel(logging.ERROR) -EXCLUDE_REGS = set() +EXCLUDE_REGS = set([ir_32().IRDst, ir_64().IRDst]) m32 = 32 m64 = 64 @@ -25,7 +25,7 @@ m64 = 64 def symb_exec(interm, inputstate, debug): sympool = dict(regs_init) sympool.update(inputstate) - symexec = symbexec(mn, sympool) + symexec = symbexec(interm, sympool) symexec.emul_ir_blocs(interm, 0) if debug: for k, v in symexec.symbols.items(): |