Author: aandrejevic
Date: Sun Nov 3 01:05:40 2013
New Revision: 60841
URL:
http://svn.reactos.org/svn/reactos?rev=60841&view=rev
Log:
[FAST486]
The RCL, RCR, ROL and ROR instructions do not update SF, ZF or PF.
Modified:
branches/ntvdm/lib/fast486/opgroups.c
Modified: branches/ntvdm/lib/fast486/opgroups.c
URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/fast486/opgroups.c?re…
==============================================================================
--- branches/ntvdm/lib/fast486/opgroups.c [iso-8859-1] (original)
+++ branches/ntvdm/lib/fast486/opgroups.c [iso-8859-1] Sun Nov 3 01:05:40 2013
@@ -278,10 +278,13 @@
}
}
- /* Update ZF, SF and PF */
- State->Flags.Zf = (Result == 0) ? TRUE : FALSE;
- State->Flags.Sf = (Result & HighestBit) ? TRUE : FALSE;
- State->Flags.Pf = Fast486CalculateParity(Result);
+ if (Operation >= 4)
+ {
+ /* Update ZF, SF and PF */
+ State->Flags.Zf = (Result == 0) ? TRUE : FALSE;
+ State->Flags.Sf = (Result & HighestBit) ? TRUE : FALSE;
+ State->Flags.Pf = Fast486CalculateParity(Result);
+ }
/* Return the result */
return Result;