Fixed OF on SHL and SHR with one bit shifts.

pull/78/head
BITDEFENDER\vlutas 2 years ago
parent bf81c647e3
commit d3fd900903

@ -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;
}

@ -115,7 +115,8 @@
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<TargetVersion></TargetVersion>
<TargetVersion>
</TargetVersion>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<SupportsPackaging>false</SupportsPackaging>
</PropertyGroup>
@ -149,7 +150,8 @@
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<TargetVersion></TargetVersion>
<TargetVersion>
</TargetVersion>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<SupportsPackaging>false</SupportsPackaging>
</PropertyGroup>
@ -644,6 +646,7 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\inc\bdshemu.h" />
<ClInclude Include="..\inc\version.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

@ -26,5 +26,8 @@
<ClInclude Include="..\inc\bdshemu.h">
<Filter>Header Files\public</Filter>
</ClInclude>
<ClInclude Include="..\inc\version.h">
<Filter>Header Files\public</Filter>
</ClInclude>
</ItemGroup>
</Project>

Binary file not shown.

@ -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

Loading…
Cancel
Save