diff --git a/bdshemu/bdshemu.c b/bdshemu/bdshemu.c index bf1a4d6..f8f0f2d 100644 --- a/bdshemu/bdshemu.c +++ b/bdshemu/bdshemu.c @@ -2221,7 +2221,7 @@ ShemuEmulate( if ((cnt & cntmask) == 1) { - SET_FLAG(Context, NDR_RFLAG_OF, ND_MSB(dst.Size, dst.Value.Qwords[0]) ^ tempCF); + SET_FLAG(Context, NDR_RFLAG_OF, ND_MSB(dst.Size, dst.Value.Qwords[0]) ^ ND_GET_BIT(dst.Size * 8ULL - 2, dst.Value.Qwords[0])); } } diff --git a/bdshemu_test/bdshemu_test.zip b/bdshemu_test/bdshemu_test.zip index e0decc9..77c359a 100644 Binary files a/bdshemu_test/bdshemu_test.zip and b/bdshemu_test/bdshemu_test.zip differ diff --git a/inc/version.h b/inc/version.h index e99b5f1..eba02c9 100644 --- a/inc/version.h +++ b/inc/version.h @@ -12,6 +12,6 @@ // 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 +#define SHEMU_VERSION_REVISION 12 #endif // DISASM_VER_H