From d3fd900903a1cf646335927b15fa2aa94220345b Mon Sep 17 00:00:00 2001 From: "BITDEFENDER\\vlutas" Date: Mon, 1 Aug 2022 14:13:27 +0300 Subject: [PATCH] Fixed OF on SHL and SHR with one bit shifts. --- bdshemu/bdshemu.c | 4 ++-- bdshemu/bdshemu.vcxproj | 7 +++++-- bdshemu/bdshemu.vcxproj.filters | 3 +++ bdshemu_test/bdshemu_test.zip | Bin 79983 -> 83457 bytes inc/version.h | 7 ++++++- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/bdshemu/bdshemu.c b/bdshemu/bdshemu.c index 3a6e1a5..bf1a4d6 100644 --- a/bdshemu/bdshemu.c +++ b/bdshemu/bdshemu.c @@ -386,7 +386,7 @@ ShemuSetFlags( if (Src2 == 1) { - if (ND_GET_BIT(Size * 8ULL - 1, Dst) ^ ND_GET_BIT(Size * 8ULL - Src2, Src1)) + if (ND_GET_BIT(Size * 8ULL - 1, Src1) ^ ND_GET_BIT(Size * 8ULL - 2, Src1)) { Context->Registers.RegFlags |= NDR_RFLAG_OF; } @@ -410,7 +410,7 @@ ShemuSetFlags( if (Src2 == 1) { - if (ND_GET_BIT(Size * 8 - 1, Dst)) + if (ND_GET_BIT(Size * 8ULL - 1, Src1)) { Context->Registers.RegFlags |= NDR_RFLAG_OF; } diff --git a/bdshemu/bdshemu.vcxproj b/bdshemu/bdshemu.vcxproj index ddf8a46..86ae440 100644 --- a/bdshemu/bdshemu.vcxproj +++ b/bdshemu/bdshemu.vcxproj @@ -115,7 +115,8 @@ true WindowsKernelModeDriver10.0 Unicode - + + Desktop false @@ -149,7 +150,8 @@ WindowsKernelModeDriver10.0 false Unicode - + + Desktop false @@ -644,6 +646,7 @@ + diff --git a/bdshemu/bdshemu.vcxproj.filters b/bdshemu/bdshemu.vcxproj.filters index ba58200..1402533 100644 --- a/bdshemu/bdshemu.vcxproj.filters +++ b/bdshemu/bdshemu.vcxproj.filters @@ -26,5 +26,8 @@ Header Files\public + + Header Files\public + \ No newline at end of file diff --git a/bdshemu_test/bdshemu_test.zip b/bdshemu_test/bdshemu_test.zip index a89035ab4268d428394613256a78e42ebdc3491f..e0decc94cfe524ca09ad5fa58e4aa82f71a3b4ad 100644 GIT binary patch delta 3472 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 delta 38 qcmZqdVSWFBrC|%>KGyA91R3WViLkOU0KpC*oNL6uu!ofq$O8ZXs0vyD diff --git a/inc/version.h b/inc/version.h index aea37fc..e99b5f1 100644 --- a/inc/version.h +++ b/inc/version.h @@ -7,6 +7,11 @@ #define DISASM_VERSION_MAJOR 1 #define DISASM_VERSION_MINOR 34 -#define DISASM_VERSION_REVISION 17 +#define DISASM_VERSION_REVISION 18 + +// bdshemu depends on bddisasm. It cannot be used without it. +#define SHEMU_VERSION_MAJOR 1 +#define SHEMU_VERSION_MINOR 1 +#define SHEMU_VERSION_REVISION 11 #endif // DISASM_VER_H