about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-05 12:09:26 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-05 12:09:26 +0100
commit8ef63665f48b8323f08c5e23cedd5df3b387348b (patch)
tree11d35198607da0619b4a28cbdd6c441a0424f5ab /src
parent93ae43945439a3032b03818e84a137a4ae2e3838 (diff)
downloadbox64-8ef63665f48b8323f08c5e23cedd5df3b387348b.tar.gz
box64-8ef63665f48b8323f08c5e23cedd5df3b387348b.zip
Added REX 0F 80..8F Jcc opcodes
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run0f.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c
index 31b22eec..cdaf3e4a 100644
--- a/src/emu/x64run0f.c
+++ b/src/emu/x64run0f.c
@@ -31,6 +31,7 @@ int Run0F(x64emu_t *emu, rex_t rex)
 {

     uint8_t opcode;

     uint8_t nextop;

+    int32_t tmp32s;

     reg64_t *oped, *opgd;

 

     opcode = F8;

@@ -55,6 +56,11 @@ int Run0F(x64emu_t *emu, rex_t rex)
             , if(rex.w) {GD->q[0] = ED->q[0]; } else {GD->dword[0] = ED->dword[0];}

         )                               /* 0x40 -> 0x4F CMOVxx Gd,Ed */ // conditional move, no sign

         

+        GOCOND(0x80

+            , tmp32s = F32S; CHECK_FLAGS(emu);

+            , R_RIP += tmp32s;

+        )                               /* 0x80 -> 0x8F Jxx */

+

         case 0xAF:                      /* IMUL Gd,Ed */

             nextop = F8;

             GETED;