From 15e5e2db6353c6b8f7e2cd5cb701ad4a6314e1b5 Mon Sep 17 00:00:00 2001 From: Andrei Vlad LUTAS Date: Tue, 23 Feb 2021 18:11:40 +0200 Subject: [PATCH] Fixed several RFLAGS setting issues with airthmetic and shift instructions. --- bdshemu/bdshemu.c | 45 ++- bdshemu_test/basic/test_64_flags.result | 10 +- bdshemu_test/basic/test_64_flags2 | Bin 0 -> 131 bytes bdshemu_test/basic/test_64_flags2.asm | 30 ++ bdshemu_test/basic/test_64_flags2.result | 151 ++++++++++ bdshemu_test/basic/test_64_flags3 | Bin 0 -> 183 bytes bdshemu_test/basic/test_64_flags3.asm | 74 +++++ bdshemu_test/basic/test_64_flags3.result | 355 +++++++++++++++++++++++ bdshemu_test/basic/test_64_incdec.result | 2 +- pybddisasm/setup.py | 2 +- 10 files changed, 648 insertions(+), 21 deletions(-) create mode 100644 bdshemu_test/basic/test_64_flags2 create mode 100644 bdshemu_test/basic/test_64_flags2.asm create mode 100644 bdshemu_test/basic/test_64_flags2.result create mode 100644 bdshemu_test/basic/test_64_flags3 create mode 100644 bdshemu_test/basic/test_64_flags3.asm create mode 100644 bdshemu_test/basic/test_64_flags3.result diff --git a/bdshemu/bdshemu.c b/bdshemu/bdshemu.c index 0504c90..73bab73 100644 --- a/bdshemu/bdshemu.c +++ b/bdshemu/bdshemu.c @@ -89,7 +89,7 @@ enum #define GET_FLAG(ctx, flg) (!!((ctx)->Registers.RegFlags & (flg))) #define SET_FLAG(ctx, flg, val) ((ctx)->Registers.RegFlags = (val) ? ((ctx)->Registers.RegFlags | flg) : \ ((ctx)->Registers.RegFlags & ~(flg))) -#define SET_FLAGS(ctx, dst, src1, src2, fm) ShemuSetFlags(ctx, dst.Value.Qwords[0], src.Value.Qwords[0], \ +#define SET_FLAGS(ctx, dst, src1, src2, fm) ShemuSetFlags(ctx, dst.Value.Qwords[0], src1.Value.Qwords[0], \ src2.Value.Qwords[0], dst.Size, fm) #define SHELLBMP(ctx) ((ctx)->Intbuf) @@ -318,6 +318,15 @@ ShemuSetFlags( Src1 = ND_TRIM(Size, Src1); Src2 = ND_TRIM(Size, Src2); + if (FlagsMode == FM_SHL || FlagsMode == FM_SHR || FlagsMode == FM_SAR) + { + // Shift with 0 count does not affect flags. + if (Src2 == 0) + { + return; + } + } + // PF set if the first bytes has an even number of 1 bits. if ((pfArr[Dst & 0xF] + pfArr[(Dst >> 4) & 0xF]) % 2 == 0) { @@ -357,7 +366,7 @@ ShemuSetFlags( else if (FM_SHL == FlagsMode) { // CF is the last bit shifted out of the destination. - if (ND_GET_BIT(Src1, (Size * 8ULL) - Src2)) + if (ND_GET_BIT((Size * 8ULL) - Src2, Src1)) { Context->Registers.RegFlags |= NDR_RFLAG_CF; } @@ -368,7 +377,7 @@ ShemuSetFlags( if (Src2 == 1) { - if (ND_GET_BIT(Size * 8ULL - 1, Dst) ^ ND_GET_BIT(Src1, (Size * 8ULL) - Src2)) + if (ND_GET_BIT(Size * 8ULL - 1, Dst) ^ ND_GET_BIT(Size * 8ULL - Src2, Src1)) { Context->Registers.RegFlags |= NDR_RFLAG_OF; } @@ -381,7 +390,7 @@ ShemuSetFlags( else if (FM_SHR == FlagsMode) { // CF is the last bit shifted out of the destination. - if (ND_GET_BIT(Src1, Src2 - 1)) + if (ND_GET_BIT(Src2 - 1, Src1)) { Context->Registers.RegFlags |= NDR_RFLAG_CF; } @@ -405,7 +414,7 @@ ShemuSetFlags( else if (FM_SAR == FlagsMode) { // CF is the last bit shifted out of the destination. - if (ND_GET_BIT(Src1, Src2 - 1)) + if (ND_GET_BIT(Src2 - 1, Src1)) { Context->Registers.RegFlags |= NDR_RFLAG_CF; } @@ -1282,7 +1291,10 @@ ShemuSetOperandValue( case ND_REG_MMX: Context->MmxRegisters[op->Info.Register.Reg] = Value->Value.Qwords[0]; // Only log these when they're written. - shemu_printf(Context, " MM%d = 0x%016llx\n", op->Info.Register.Reg, Value->Value.Qwords[0]); + if (Context->Options & SHEMU_OPT_TRACE_EMULATION) + { + shemu_printf(Context, " MM%d = 0x%016llx\n", op->Info.Register.Reg, Value->Value.Qwords[0]); + } break; case ND_REG_SSE: @@ -1290,14 +1302,19 @@ ShemuSetOperandValue( Value->Value.Bytes, op->Size); // Only log these when they're written. - shemu_printf(Context, - " %cMM%d (HI_32) = 0x%016llx%016llx%016llx%016llx\n", - op->Size == 16 ? 'X' : op->Size == 32 ? 'Y' : 'Z', op->Info.Register.Reg, - Value->Value.Qwords[7], Value->Value.Qwords[6], Value->Value.Qwords[5], Value->Value.Qwords[4]); - shemu_printf(Context, - " %cMM%d (LO_32) = 0x%016llx%016llx%016llx%016llx\n", - op->Size == 16 ? 'X' : op->Size == 32 ? 'Y' : 'Z', op->Info.Register.Reg, - Value->Value.Qwords[3], Value->Value.Qwords[2], Value->Value.Qwords[1], Value->Value.Qwords[0]); + if (Context->Options & SHEMU_OPT_TRACE_EMULATION) + { + shemu_printf(Context, + " %cMM%d (HI_32) = 0x%016llx%016llx%016llx%016llx\n", + op->Size == 16 ? 'X' : op->Size == 32 ? 'Y' : 'Z', op->Info.Register.Reg, + Value->Value.Qwords[7], Value->Value.Qwords[6], + Value->Value.Qwords[5], Value->Value.Qwords[4]); + shemu_printf(Context, + " %cMM%d (LO_32) = 0x%016llx%016llx%016llx%016llx\n", + op->Size == 16 ? 'X' : op->Size == 32 ? 'Y' : 'Z', op->Info.Register.Reg, + Value->Value.Qwords[3], Value->Value.Qwords[2], + Value->Value.Qwords[1], Value->Value.Qwords[0]); + } break; case ND_REG_RIP: diff --git a/bdshemu_test/basic/test_64_flags.result b/bdshemu_test/basic/test_64_flags.result index 49cce25..64095da 100644 --- a/bdshemu_test/basic/test_64_flags.result +++ b/bdshemu_test/basic/test_64_flags.result @@ -56,13 +56,13 @@ Emulating: 0x0000000000200019 SUB eax, 0x00000001 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 - RIP = 0x000000000020001c RFLAGS = 0x0000000000000286 + RIP = 0x000000000020001c RFLAGS = 0x0000000000000287 Emulating: 0x000000000020001c SBB eax, 0x00000000 - RAX = 0x00000000ffffffff RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RAX = 0x00000000fffffffe RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 - RIP = 0x000000000020001f RFLAGS = 0x0000000000000286 + RIP = 0x000000000020001f RFLAGS = 0x0000000000000282 Emulating: 0x000000000020001f XOR eax, eax RAX = 0x0000000000000000 RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 @@ -152,7 +152,7 @@ Emulating: 0x000000000020004e SHL eax, 0x18 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 - RIP = 0x0000000000200051 RFLAGS = 0x0000000000000286 + RIP = 0x0000000000200051 RFLAGS = 0x0000000000000287 Emulating: 0x0000000000200051 XOR eax, eax RAX = 0x0000000000000000 RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 @@ -170,6 +170,6 @@ Emulating: 0x0000000000200058 SHR eax, 0x18 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 - RIP = 0x000000000020005b RFLAGS = 0x0000000000000206 + RIP = 0x000000000020005b RFLAGS = 0x0000000000000207 Emulating: 0x000000000020005b RETN Emulation terminated with status 0x00000002, flags: 0x0, 0 NOPs diff --git a/bdshemu_test/basic/test_64_flags2 b/bdshemu_test/basic/test_64_flags2 new file mode 100644 index 0000000000000000000000000000000000000000..23a877c6ceb216f578a3269143cd11f62dac964e GIT binary patch literal 131 zcmYLC+Y!JZ2m`n2CTvy5g1>rxXs5CXp4WT;d0cQ6kti5;P3I0OAU2)_9O@~LMvboX a0B#H9iJJ1hL1Oy|p!oly?+A iA{CA&M~Uc&iPIf(Y);!@J4VtSvzk2rsKK^nANU)gNKe!N literal 0 HcmV?d00001 diff --git a/bdshemu_test/basic/test_64_flags3.asm b/bdshemu_test/basic/test_64_flags3.asm new file mode 100644 index 0000000..81cc5d8 --- /dev/null +++ b/bdshemu_test/basic/test_64_flags3.asm @@ -0,0 +1,74 @@ + bits 64 + + xor eax, eax + + mov eax, 0xAA + mov cl, 0 + shr eax, cl + shl eax, cl + sar eax, cl + + mov eax, 0xAA + mov cl, 255 + shr eax, cl + + mov eax, 0xAA + mov cl, 255 + sar eax, cl + + mov eax, 0xAA + mov cl, 255 + shl eax, cl + + xor eax, eax + + mov eax, 0x0 + mov cl, 1 + shr eax, cl + mov eax, 0x1 + shr eax, cl + mov eax, 0xff + shr eax, cl + + mov eax, 0x0 + mov cl, 2 + shr eax, cl + mov eax, 0x1 + shr eax, cl + mov eax, 0xff + shr eax, cl + + mov eax, 0x0 + mov cl, 1 + sar eax, cl + mov eax, 0x1 + sar eax, cl + mov eax, 0xff + sar eax, cl + + mov eax, 0x0 + mov cl, 2 + sar eax, cl + mov eax, 0x1 + sar eax, cl + mov eax, 0xff + sar eax, cl + + mov eax, 0x0 + mov cl, 1 + shl eax, cl + mov eax, 0x80 + shl eax, cl + mov eax, 0xff + shl eax, cl + + mov eax, 0x0 + mov cl, 2 + shl eax, cl + mov eax, 0x80 + shl eax, cl + mov eax, 0xff + shl eax, cl + + + retn \ No newline at end of file diff --git a/bdshemu_test/basic/test_64_flags3.result b/bdshemu_test/basic/test_64_flags3.result new file mode 100644 index 0000000..4b9e26a --- /dev/null +++ b/bdshemu_test/basic/test_64_flags3.result @@ -0,0 +1,355 @@ + RAX = 0x0000000000000000 RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200000 RFLAGS = 0x0000000000000202 +Emulating: 0x0000000000200000 XOR eax, eax + RAX = 0x0000000000000000 RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200002 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200002 MOV eax, 0x000000aa + RAX = 0x00000000000000aa RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200007 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200007 MOV cl, 0x00 + RAX = 0x00000000000000aa RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200009 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200009 SHR eax, cl + RAX = 0x00000000000000aa RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020000b RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020000b SHL eax, cl + RAX = 0x00000000000000aa RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020000d RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020000d SAR eax, cl + RAX = 0x00000000000000aa RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020000f RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020000f MOV eax, 0x000000aa + RAX = 0x00000000000000aa RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200014 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200014 MOV cl, 0xff + RAX = 0x00000000000000aa RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200016 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200016 SHR eax, cl + RAX = 0x0000000000000000 RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200018 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200018 MOV eax, 0x000000aa + RAX = 0x00000000000000aa RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020001d RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020001d MOV cl, 0xff + RAX = 0x00000000000000aa RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020001f RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020001f SAR eax, cl + RAX = 0x0000000000000000 RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200021 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200021 MOV eax, 0x000000aa + RAX = 0x00000000000000aa RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200026 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200026 MOV cl, 0xff + RAX = 0x00000000000000aa RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200028 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200028 SHL eax, cl + RAX = 0x0000000000000000 RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020002a RFLAGS = 0x0000000000000247 +Emulating: 0x000000000020002a XOR eax, eax + RAX = 0x0000000000000000 RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020002c RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020002c MOV eax, 0x00000000 + RAX = 0x0000000000000000 RCX = 0x00000000000000ff RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200031 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200031 MOV cl, 0x01 + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200033 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200033 SHR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200035 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200035 MOV eax, 0x00000001 + RAX = 0x0000000000000001 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020003a RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020003a SHR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020003c RFLAGS = 0x0000000000000247 +Emulating: 0x000000000020003c MOV eax, 0x000000ff + RAX = 0x00000000000000ff RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200041 RFLAGS = 0x0000000000000247 +Emulating: 0x0000000000200041 SHR eax, cl + RAX = 0x000000000000007f RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200043 RFLAGS = 0x0000000000000203 +Emulating: 0x0000000000200043 MOV eax, 0x00000000 + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200048 RFLAGS = 0x0000000000000203 +Emulating: 0x0000000000200048 MOV cl, 0x02 + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020004a RFLAGS = 0x0000000000000203 +Emulating: 0x000000000020004a SHR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020004c RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020004c MOV eax, 0x00000001 + RAX = 0x0000000000000001 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200051 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200051 SHR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200053 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200053 MOV eax, 0x000000ff + RAX = 0x00000000000000ff RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200058 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200058 SHR eax, cl + RAX = 0x000000000000003f RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020005a RFLAGS = 0x0000000000000207 +Emulating: 0x000000000020005a MOV eax, 0x00000000 + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020005f RFLAGS = 0x0000000000000207 +Emulating: 0x000000000020005f MOV cl, 0x01 + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200061 RFLAGS = 0x0000000000000207 +Emulating: 0x0000000000200061 SAR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200063 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200063 MOV eax, 0x00000001 + RAX = 0x0000000000000001 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200068 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200068 SAR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020006a RFLAGS = 0x0000000000000247 +Emulating: 0x000000000020006a MOV eax, 0x000000ff + RAX = 0x00000000000000ff RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020006f RFLAGS = 0x0000000000000247 +Emulating: 0x000000000020006f SAR eax, cl + RAX = 0x000000000000007f RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200071 RFLAGS = 0x0000000000000203 +Emulating: 0x0000000000200071 MOV eax, 0x00000000 + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200076 RFLAGS = 0x0000000000000203 +Emulating: 0x0000000000200076 MOV cl, 0x02 + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200078 RFLAGS = 0x0000000000000203 +Emulating: 0x0000000000200078 SAR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020007a RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020007a MOV eax, 0x00000001 + RAX = 0x0000000000000001 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020007f RFLAGS = 0x0000000000000246 +Emulating: 0x000000000020007f SAR eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200081 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200081 MOV eax, 0x000000ff + RAX = 0x00000000000000ff RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200086 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200086 SAR eax, cl + RAX = 0x000000000000003f RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200088 RFLAGS = 0x0000000000000207 +Emulating: 0x0000000000200088 MOV eax, 0x00000000 + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020008d RFLAGS = 0x0000000000000207 +Emulating: 0x000000000020008d MOV cl, 0x01 + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020008f RFLAGS = 0x0000000000000207 +Emulating: 0x000000000020008f SHL eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200091 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200091 MOV eax, 0x00000080 + RAX = 0x0000000000000080 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200096 RFLAGS = 0x0000000000000246 +Emulating: 0x0000000000200096 SHL eax, cl + RAX = 0x0000000000000100 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x0000000000200098 RFLAGS = 0x0000000000000206 +Emulating: 0x0000000000200098 MOV eax, 0x000000ff + RAX = 0x00000000000000ff RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020009d RFLAGS = 0x0000000000000206 +Emulating: 0x000000000020009d SHL eax, cl + RAX = 0x00000000000001fe RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x000000000020009f RFLAGS = 0x0000000000000202 +Emulating: 0x000000000020009f MOV eax, 0x00000000 + RAX = 0x0000000000000000 RCX = 0x0000000000000001 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000a4 RFLAGS = 0x0000000000000202 +Emulating: 0x00000000002000a4 MOV cl, 0x02 + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000a6 RFLAGS = 0x0000000000000202 +Emulating: 0x00000000002000a6 SHL eax, cl + RAX = 0x0000000000000000 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000a8 RFLAGS = 0x0000000000000246 +Emulating: 0x00000000002000a8 MOV eax, 0x00000080 + RAX = 0x0000000000000080 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000ad RFLAGS = 0x0000000000000246 +Emulating: 0x00000000002000ad SHL eax, cl + RAX = 0x0000000000000200 RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000af RFLAGS = 0x0000000000000206 +Emulating: 0x00000000002000af MOV eax, 0x000000ff + RAX = 0x00000000000000ff RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000b4 RFLAGS = 0x0000000000000206 +Emulating: 0x00000000002000b4 SHL eax, cl + RAX = 0x00000000000003fc RCX = 0x0000000000000002 RDX = 0x0000000000000000 RBX = 0x0000000000000000 + RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 + R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 + R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 + RIP = 0x00000000002000b6 RFLAGS = 0x0000000000000206 +Emulating: 0x00000000002000b6 RETN +Emulation terminated with status 0x00000002, flags: 0x0, 0 NOPs diff --git a/bdshemu_test/basic/test_64_incdec.result b/bdshemu_test/basic/test_64_incdec.result index 33d2c1d..ea43bc0 100644 --- a/bdshemu_test/basic/test_64_incdec.result +++ b/bdshemu_test/basic/test_64_incdec.result @@ -38,7 +38,7 @@ Emulating: 0x0000000000200008 INC eax RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 R8 = 0x0000000000000000 R9 = 0x0000000000000000 R10 = 0x0000000000000000 R11 = 0x0000000000000000 R12 = 0x0000000000000000 R13 = 0x0000000000000000 R14 = 0x0000000000000000 R15 = 0x0000000000000000 - RIP = 0x000000000020000a RFLAGS = 0x0000000000000a87 + RIP = 0x000000000020000a RFLAGS = 0x0000000000000287 Emulating: 0x000000000020000a INC eax RAX = 0x0000000000000000 RCX = 0x0000000000000000 RDX = 0x0000000000000000 RBX = 0x0000000000000000 RSP = 0x0000000000101000 RBP = 0x0000000000000000 RSI = 0x0000000000000000 RDI = 0x0000000000000000 diff --git a/pybddisasm/setup.py b/pybddisasm/setup.py index 02b9bea..aa9613d 100644 --- a/pybddisasm/setup.py +++ b/pybddisasm/setup.py @@ -12,7 +12,7 @@ from setuptools import find_packages, setup, Command, Extension, Distribution from codecs import open VERSION = (0, 1, 3) -LIBRARY_VERSION = (1, 31, 7) +LIBRARY_VERSION = (1, 31, 8) LIBRARY_INSTRUX_SIZE = 864 packages = ['pybddisasm']