about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-16 16:28:35 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-16 16:28:35 +0200
commitba3359353f16a7b4bdbc6630ff531c5e963c50c7 (patch)
treeda2f4a88b4e61f5bd9fa463bc548c9f8514217bc /src
parentca473b06dcb01e014d54c98e6718f9a5fda98910 (diff)
downloadbox64-ba3359353f16a7b4bdbc6630ff531c5e963c50c7.tar.gz
box64-ba3359353f16a7b4bdbc6630ff531c5e963c50c7.zip
Added 66 8C opcode (for #61)
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run66.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c
index 83ccbe20..72c83e47 100644
--- a/src/emu/x64run66.c
+++ b/src/emu/x64run66.c
@@ -225,7 +225,14 @@ int Run66(x64emu_t *emu, rex_t rex, int rep)
         else

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

         break;

-

+    case 0x8C:                      /* MOV Ed, Seg */

+        nextop = F8;

+        GETEW(0);

+        if(rex.w)

+            EW->q[0] = emu->segs[((nextop&0x38)>>3)];

+        else

+            EW->word[0] = emu->segs[((nextop&0x38)>>3)];

+        break;

     case 0x8D:                              /* LEA Gw,M */

         nextop = F8;

         GETED(0);