diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-02-24 12:07:37 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-02-24 12:07:37 +0100 |
| commit | f8202096f1c4d8608809bc42f15fbd765e8c148b (patch) | |
| tree | 6e8f6fc38f7f5306f80aa7a81661c81e6a221797 /src/emu | |
| parent | f470d552cfaed6a5c7ff97b8c26ed45503b423d2 (diff) | |
| download | box64-f8202096f1c4d8608809bc42f15fbd765e8c148b.tar.gz box64-f8202096f1c4d8608809bc42f15fbd765e8c148b.zip | |
Added 0F 01 F9 opcode ([ARM64_DYNAREC] too
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run0f.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index e36376d5..f14b9dd5 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -105,6 +105,12 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) case 0xE7: /* SMSW Ew */ ED->word[0] = (1<<0) | (1<<4); // only PE and ET set... break; + case 0xF9: /* RDTSCP */ + tmp64u = ReadTSC(emu); + R_RAX = tmp64u & 0xffffffff; + R_RDX = tmp64u >> 32; + R_RCX = 0; // should be low of IA32_TSC + break; default: return 0; } else @@ -944,8 +950,8 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) GOCOND(0x80 , tmp32s = F32S; CHECK_FLAGS(emu); , addr += tmp32s; - ,,STEP3 - ) /* 0x80 -> 0x8F Jxx */ + ,, + ) /* 0x80 -> 0x8F Jxx */ //STEP3 GOCOND(0x90 , nextop = F8; CHECK_FLAGS(emu); GETEB(0); |