diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-03-16 20:10:16 +0000 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-03-16 20:10:16 +0000 |
| commit | b63dcabca4195fece96f469383c6c3baefae2b9b (patch) | |
| tree | 29db10b3f8748e817d1a11660a58bcb1c5153a84 /src | |
| parent | cc9191382f73841b8577cb4811c9ed85466ce8b0 (diff) | |
| download | box64-b63dcabca4195fece96f469383c6c3baefae2b9b.tar.gz box64-b63dcabca4195fece96f469383c6c3baefae2b9b.zip | |
[RV64_DYNAREC] Added some C9 LEAVE opcode (after test01, now test02 fully runs on Dynarec)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_00.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_00.c b/src/dynarec/rv64/dynarec_rv64_00.c index 293f054f..90025fb4 100644 --- a/src/dynarec/rv64/dynarec_rv64_00.c +++ b/src/dynarec/rv64/dynarec_rv64_00.c @@ -463,6 +463,13 @@ uintptr_t dynarec64_00(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni SMWRITELOCK(lock); } break; + + case 0xC9: + INST_NAME("LEAVE"); + MV(xRSP, xRBP); + POP1(xRBP); + break; + case 0xCC: SETFLAGS(X_ALL, SF_SET); // Hack, set all flags (to an unknown state...) if(PK(0)=='S' && PK(1)=='C') { |