about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-06 11:42:55 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-06 11:42:55 +0100
commita26ae4c7ef65429bf7d831c6650671cae1a348b2 (patch)
treeddb2feb339ecfede240384d6b5e20f4da624ec5c /src
parentf40d2031cd6a356c168b39962883559e05f9832f (diff)
downloadbox64-a26ae4c7ef65429bf7d831c6650671cae1a348b2.tar.gz
box64-a26ae4c7ef65429bf7d831c6650671cae1a348b2.zip
Added 66 REX 89 MOV opcode
Diffstat (limited to 'src')
-rw-r--r--src/emu/modrm.h2
-rw-r--r--src/emu/x64run66.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/emu/modrm.h b/src/emu/modrm.h
index 233b1bb8..78dbddb3 100644
--- a/src/emu/modrm.h
+++ b/src/emu/modrm.h
@@ -18,7 +18,7 @@
 #define GETEB oped=GetEb(emu, rex, nextop)

 #define GETGB opgd=GetGb(emu, rex, nextop)

 #define GETEW oped=GetEw(emu, rex, nextop)

-#define GETGW opgd=GetGw(emu, rex, nextop)

+#define GETGW opgd=GetGd(emu, rex, nextop)

 #define GETEX opex=GetEx(emu, rex, nextop)

 #define GETGX opgx=GetGx(emu, rex, nextop)

 #define ED  oped

diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c
index 9bfe8e7f..b83b7c28 100644
--- a/src/emu/x64run66.c
+++ b/src/emu/x64run66.c
@@ -47,6 +47,13 @@ int Run66(x64emu_t *emu, rex_t rex)
     case 0x0F:                              /* more opcdes */

         return Run660F(emu, rex);

 

+    case 0x89:                              /* MOV Ew,Gw */

+        nextop = F8;

+        GETEW;

+        GETGW;

+        EW->word[0] = GW->word[0];

+        break;

+

     case 0xC1:                              /* GRP2 Ew,Ib */

         nextop = F8;

         GETEW;