about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-05-04 13:24:55 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-05-04 13:24:55 +0200
commitdbde650339a74b6dd09a7895679ca5c704b31a76 (patch)
treeb5850a366e4d31cdb93532d1403b604b2452643a
parenta338e3fae83b5afa3e087da66d7d7f7ac7ced19f (diff)
downloadbox64-dbde650339a74b6dd09a7895679ca5c704b31a76.tar.gz
box64-dbde650339a74b6dd09a7895679ca5c704b31a76.zip
Added 64/65 A1 opcode
-rw-r--r--src/emu/x64run64.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/emu/x64run64.c b/src/emu/x64run64.c
index a8d100a3..6a3e961d 100644
--- a/src/emu/x64run64.c
+++ b/src/emu/x64run64.c
@@ -401,6 +401,14 @@ uintptr_t Run64(x64emu_t *emu, rex_t rex, int seg, uintptr_t addr)
                 GD->q[0] = ED->dword[0];

             break;

 

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

+            tmp64u = F64;

+            if(rex.w)

+                R_RAX = *(uint64_t*)(tlsdata+tmp64u);

+            else

+                R_RAX = *(uint32_t*)(tlsdata+tmp64u);

+            break;

+

         case 0xC6:                      /* MOV FS:Eb, Ib */

             nextop = F8;

             GETEB_OFFS(1, tlsdata);