From f62c8a22383d9e7345ea8685510b56829ce0d630 Mon Sep 17 00:00:00 2001 From: "BITDEFENDER\\vlutas" Date: Mon, 1 Aug 2022 15:46:38 +0300 Subject: [PATCH] https://github.com/bitdefender/bddisasm/issues/70 - fixed OF setting on ROR. --- bdshemu/bdshemu.c | 2 +- bdshemu_test/bdshemu_test.zip | Bin 83457 -> 92144 bytes inc/version.h | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) 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 e0decc94cfe524ca09ad5fa58e4aa82f71a3b4ad..77c359a448264fac7abd66ffcd54f0c3190e7ebf 100644 GIT binary patch delta 8569 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 delta 38 pcmexxp0%-uwP6e67QyY=28@;_BCKo-K(G%8Eln60HVHBUc>wNG30(jH 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