about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-04 21:47:40 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-04 21:47:40 +0100
commit68d4683010600d87b0967dc4ef701f1226e78679 (patch)
tree920e0a01541477943ccc2674b14fbee9715cfb94 /src
parent3bcb9e0f3883d6d2fa57d70e0a1e2d707faf4e1f (diff)
downloadbox64-68d4683010600d87b0967dc4ef701f1226e78679.tar.gz
box64-68d4683010600d87b0967dc4ef701f1226e78679.zip
Added REX 98 CWDE/CDQE opcode
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64run.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 80a96b2c..11c63814 100755
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -410,6 +410,13 @@ x64emurun:
                 GD->dword[0] = (uint32_t)(uintptr_t)ED;
             break;
 
+        case 0x98:                      /* CWDE */
+            if(rex.w)
+                emu->regs[_AX].q[0] = emu->regs[_AX].sdword[0];
+            else
+                emu->regs[_AX].sdword[0] = emu->regs[_AX].sword[0];
+            break;
+
         case 0xB8:                      /* MOV EAX,Id */
         case 0xB9:                      /* MOV ECX,Id */
         case 0xBA:                      /* MOV EDX,Id */