diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-04-18 13:24:08 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-04-18 13:24:08 +0200 |
| commit | d1497e98dbb025ab610805377eb6b1d10c6435a9 (patch) | |
| tree | f3eb0c4a644937021acc54e9de554e34955814d0 /src | |
| parent | 7925a8e1b3a473aa94991272eb3367f91412c433 (diff) | |
| download | box64-d1497e98dbb025ab610805377eb6b1d10c6435a9.tar.gz box64-d1497e98dbb025ab610805377eb6b1d10c6435a9.zip | |
Added handling of 3E prefix ([DYNAREC] too)
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/dynarec_arm64_pass.c | 4 | ||||
| -rwxr-xr-x | src/emu/x64run.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_pass.c b/src/dynarec/dynarec_arm64_pass.c index 9abeaf6a..a3d235cd 100755 --- a/src/dynarec/dynarec_arm64_pass.c +++ b/src/dynarec/dynarec_arm64_pass.c @@ -75,6 +75,10 @@ uintptr_t arm_pass(dynarec_arm_t* dyn, uintptr_t addr) ++addr; pk = PK(0); } + while(pk==0x3E) { //Branch Taken Hint ignored + ++addr; + pk = PK(0); + } rex.rex = 0; while(pk>=0x40 && pk<=0x4f) { rex.rex = pk; diff --git a/src/emu/x64run.c b/src/emu/x64run.c index 3ccdb786..17a7da6e 100755 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -70,6 +70,8 @@ x64emurun: rep = opcode-0xF1; opcode = F8; } + while((opcode==0x3E)) //Branch Taken Hint ignored + opcode = F8; rex.rex = 0; while(opcode>=0x40 && opcode<=0x4f) { rex.rex = opcode; |