about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-03-05 15:01:58 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-03-05 15:01:58 +0100
commit0e9b61b3d87359ed275b2ec6338133b8a10e7a9f (patch)
tree12bc32262f1282d6e967a50c0c211c317e201275 /src/emu
parent4c2008f6cbf413839396e85de3409d3fcabcd541 (diff)
downloadbox64-0e9b61b3d87359ed275b2ec6338133b8a10e7a9f.tar.gz
box64-0e9b61b3d87359ed275b2ec6338133b8a10e7a9f.zip
Added 64 63 opcode ([DYNAREC] Too)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64run64.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/emu/x64run64.c b/src/emu/x64run64.c
index a1e5a38b..07ba3590 100644
--- a/src/emu/x64run64.c
+++ b/src/emu/x64run64.c
@@ -236,6 +236,19 @@ int Run64(x64emu_t *emu, rex_t rex, int seg)
             break;

 

 

+        case 0x63:                      /* MOVSXD Gd,Ed */

+            nextop = F8;

+            GETED_OFFS(0, tlsdata);

+            GETGD;

+            if(rex.w)

+                GD->sq[0] = ED->sdword[0];

+            else

+                if(MODREG)

+                    GD->q[0] = ED->dword[0];    // not really a sign extension

+                else

+                    GD->sdword[0] = ED->sdword[0];  // meh?

+            break;

+

         case 0x66:

             return Run6664(emu, rex);