about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-26 17:09:26 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-03-26 17:09:26 +0200
commitbe3b95db6b1a3c0e3643ff818f33f84d176d4564 (patch)
tree0d88f9dd1f439e7edd9235ae1ec221b910ff594f /src
parentc02b350b3da701464d54dbfe463b378eb0f2d325 (diff)
downloadbox64-be3b95db6b1a3c0e3643ff818f33f84d176d4564.tar.gz
box64-be3b95db6b1a3c0e3643ff818f33f84d176d4564.zip
Fixed flag handling of PTEST opcode
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run660f.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c
index e06c3fb5..0b868a27 100644
--- a/src/emu/x64run660f.c
+++ b/src/emu/x64run660f.c
@@ -372,9 +372,13 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr)
                 nextop = F8;

                 GETEX(0);

                 GETGX;

-                CHECK_FLAGS(emu);

+                RESET_FLAGS(emu);

                 CONDITIONAL_SET_FLAG(!(GX->u128&EX->u128), F_ZF);

                 CONDITIONAL_SET_FLAG(!((~GX->u128)&EX->u128), F_CF);

+                CLEAR_FLAG(F_AF);

+                CLEAR_FLAG(F_OF);

+                CLEAR_FLAG(F_SF);

+                CLEAR_FLAG(F_PF);

                 break;

 

             case 0x1C:  /* PABSB Gx, Ex */