diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-10-29 17:24:06 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-10-29 17:24:06 +0200 |
| commit | 7dc5359c2b10521696e7d251627eff029d53ee28 (patch) | |
| tree | 77c659d617b647c52d869dd84a561aa36440f74c /src/emu | |
| parent | e394903ccfc7a25ea07d701ae37275fb9f4aa36b (diff) | |
| download | box64-7dc5359c2b10521696e7d251627eff029d53ee28.tar.gz box64-7dc5359c2b10521696e7d251627eff029d53ee28.zip | |
Added support for MOVBE extension ([DYNAREC] too)
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run0f.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index a75ffc26..5cde4f53 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -304,6 +304,25 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) } break; + case 0xF0: /* MOVBE Gd, Ed*/ + nextop = F8; + GETGD; + GETED(0); + if(rex.w) + GD->q[0] = __builtin_bswap64(ED->q[0]); + else + GD->q[0] = __builtin_bswap32(ED->dword[0]); + break; + case 0xF1: /* MOVBE Ed, Gd*/ + nextop = F8; + GETGD; + GETED(0); + if(rex.w) + ED->q[0] = __builtin_bswap64(GD->q[0]); + else + ED->q[0] = __builtin_bswap32(GD->dword[0]); + break; + default: return 0; } |