From 856e7b3fa931b8cd5728936ff72200de5026b55c Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Mon, 11 Aug 2003 15:49:14 +0000 Subject: [PATCH] bug with directly changing the flags.word Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1182 --- src/cpu/flags.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/cpu/flags.cpp b/src/cpu/flags.cpp index dc09460d..4f3e07cd 100644 --- a/src/cpu/flags.cpp +++ b/src/cpu/flags.cpp @@ -576,13 +576,14 @@ Bitu get_PF(void) { void FillFlags(void) { - flags.word=(flags.word & ~FLAG_MASK); - if (get_CF()) flags.word|=FLAG_CF; - if (get_PF()) flags.word|=FLAG_PF; - if (get_AF()) flags.word|=FLAG_AF; - if (get_ZF()) flags.word|=FLAG_ZF; - if (get_SF()) flags.word|=FLAG_SF; - if (get_OF()) flags.word|=FLAG_OF; + Bitu new_word=(flags.word & ~FLAG_MASK); + if (get_CF()) new_word|=FLAG_CF; + if (get_PF()) new_word|=FLAG_PF; + if (get_AF()) new_word|=FLAG_AF; + if (get_ZF()) new_word|=FLAG_ZF; + if (get_SF()) new_word|=FLAG_SF; + if (get_OF()) new_word|=FLAG_OF; + flags.word=new_word; flags.type=t_UNKNOWN; }