diff --git a/bindings/python/sample_x86.py b/bindings/python/sample_x86.py index 25c63ea5..eeb64dd9 100755 --- a/bindings/python/sample_x86.py +++ b/bindings/python/sample_x86.py @@ -383,9 +383,16 @@ def test_i386_loop(): print(">>> ECX = 0x%x" %r_ecx) print(">>> EDX = 0x%x" %r_edx) - except UcError as e: - print("ERROR: %s" % e) + # timeout is acceptable in this case + if e.errno == UC_ERR_TIMEOUT: + print(">>> Emulation done. Below is the CPU context") + r_ecx = mu.reg_read(UC_X86_REG_ECX) + r_edx = mu.reg_read(UC_X86_REG_EDX) + print(">>> ECX = 0x%x" %r_ecx) + print(">>> EDX = 0x%x" %r_edx) + else: + print("ERROR: %s" % e) # Test X86 32 bit with IN/OUT instruction def test_i386_inout():