about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-06-02 14:51:06 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-06-02 14:51:06 +0200
commit2f1cc844fdd9b2c6d6fd5dafcf590afe99f99736 (patch)
tree1a3c0bec6b735b474d41c8b6dcaad1c09cdcbbd6 /src/emu
parent543af50ff80af8f041e2b53568659b30043e8613 (diff)
downloadbox64-2f1cc844fdd9b2c6d6fd5dafcf590afe99f99736.tar.gz
box64-2f1cc844fdd9b2c6d6fd5dafcf590afe99f99736.zip
Added 66 A1/A3 opcodes ([DYNAREC] too)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64run66.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c
index 0e1f4bac..067c47da 100644
--- a/src/emu/x64run66.c
+++ b/src/emu/x64run66.c
@@ -246,6 +246,20 @@ int Run66(x64emu_t *emu, rex_t rex, int rep)
         R_DX=((R_AX & 0x8000)?0xFFFF:0x0000);

         break;

 

+    case 0xA1:                      /* MOV EAX,Od */

+        if(rex.w)

+            R_RAX = *(uint64_t*)F64;

+        else

+            R_AX = *(uint16_t*)F64;

+        break;

+

+    case 0xA3:                      /* MOV Od,EAX */

+        if(rex.w)

+            *(uint64_t*)F64 = R_RAX;

+        else

+            *(uint16_t*)F64 = R_AX;

+        break;

+

     case 0xA5:              /* (REP) MOVSW */

         tmp8s = ACCESS_FLAG(F_DF)?-1:+1;

         tmp64u = (rep)?R_RCX:1L;