diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-04-17 17:14:19 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-04-17 17:14:19 +0200 |
| commit | 5120e74b365b4797e2decb9147dcd7a121faf647 (patch) | |
| tree | 588412d73415faa6c0bb777afa04b85043e84fea /src | |
| parent | 8f5fa863bfc2ee7e51be39e86a856019eebb0589 (diff) | |
| download | box64-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.c | 6 | ||||
| -rw-r--r-- | src/emu/x64run66.c | 4 |
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); |