about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-04-17 17:14:19 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-04-17 17:14:19 +0200
commit5120e74b365b4797e2decb9147dcd7a121faf647 (patch)
tree588412d73415faa6c0bb777afa04b85043e84fea /src
parent8f5fa863bfc2ee7e51be39e86a856019eebb0589 (diff)
downloadbox64-5120e74b365b4797e2decb9147dcd7a121faf647.tar.gz
box64-5120e74b365b4797e2decb9147dcd7a121faf647.zip
Added 66 68 opcode ([ARM64_DYNAREC] too)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_66.c6
-rw-r--r--src/emu/x64run66.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_66.c b/src/dynarec/arm64/dynarec_arm64_66.c
index a11f186a..8945b365 100644
--- a/src/dynarec/arm64/dynarec_arm64_66.c
+++ b/src/dynarec/arm64/dynarec_arm64_66.c
@@ -425,6 +425,12 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             addr = dynarec64_66(dyn, addr, ip, ninst, rex, rep, ok, need_epilog);

             break;

 

+        case 0x68:

+            INST_NAME("PUSH Iw");

+            u16 = F16;

+            MOV32w(x2, u16);

+            PUSH1_16(x2);

+            break;

         case 0x69:

         case 0x6B:

             if(opcode==0x69) {

diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c
index 61416cff..b9f8e924 100644
--- a/src/emu/x64run66.c
+++ b/src/emu/x64run66.c
@@ -275,6 +275,10 @@ uintptr_t Run66(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr)
         return Run6664(emu, rex, _GS, addr);

         #endif

 

+    case 0x68:                       /* PUSH u16 */

+        tmp16u = F16;

+        Push16(emu, tmp16u);

+        break;

     case 0x69:                      /* IMUL Gw,Ew,Iw */

         nextop = F8;

         GETEW(rex.w?4:2);