From 6e6e0bac08bf78649937e3eccbda78b932d43b0e Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Sun, 3 Nov 2013 01:05:40 +0000 Subject: [PATCH] [FAST486] The RCL, RCR, ROL and ROR instructions do not update SF, ZF or PF. svn path=/branches/ntvdm/; revision=60841 --- lib/fast486/opgroups.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/fast486/opgroups.c b/lib/fast486/opgroups.c index 5b9ec0aec78..126d4d1cc74 100644 --- a/lib/fast486/opgroups.c +++ b/lib/fast486/opgroups.c @@ -278,10 +278,13 @@ Fast486RotateOperation(PFAST486_STATE State, } } - /* 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; -- 2.17.1