about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-04 20:32:25 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-04 20:32:25 +0100
commit3f025f1310eaea11670f8907455c8d5ece2136d3 (patch)
tree34420385b6606a563a69e5857706fe5cf4982c1c /src
parentb3f3a2b30c060fdd22d09e86acaf9db385440881 (diff)
downloadbox64-3f025f1310eaea11670f8907455c8d5ece2136d3.tar.gz
box64-3f025f1310eaea11670f8907455c8d5ece2136d3.zip
Added REX B8..BF MOV opcodes
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64run.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 326d9cca..5c7045e6 100755
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -405,6 +405,20 @@ x64emurun:
                 GD->dword[0] = (uint32_t)(uintptr_t)ED;
             break;
 
+        case 0xB8:                      /* MOV EAX,Id */
+        case 0xB9:                      /* MOV ECX,Id */
+        case 0xBA:                      /* MOV EDX,Id */
+        case 0xBB:                      /* MOV EBX,Id */
+        case 0xBC:                      /*    ...     */
+        case 0xBD:
+        case 0xBE:
+        case 0xBF:
+            if(rex.w)
+                emu->regs[(opcode&7)+(rex.b<<3)].q[0] = F64;
+            else
+                emu->regs[(opcode&7)+(rex.b<<3)].dword[0] = F32;
+            break;
+
         case 0xC1:                      /* GRP2 Ed,Ib */
             nextop = F8;
             GETED;