diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-08-21 08:35:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-21 08:35:24 +0200 |
| commit | 7a992837a13eecbcccb54c93c77ee8e1a9c74d1c (patch) | |
| tree | d04c23b1c71c6eac7cbd180bdf98e407de52d3e1 /src/emu | |
| parent | 33d8fa7b23e06b2043cbcd8706e8129c92587d83 (diff) | |
| parent | cd0aad731adede316ea036692ef92669474c1256 (diff) | |
| download | box64-7a992837a13eecbcccb54c93c77ee8e1a9c74d1c.tar.gz box64-7a992837a13eecbcccb54c93c77ee8e1a9c74d1c.zip | |
Merge pull request #941 from wannacu/main
[ARM64_DYNAREC] Added 0F F1/F3/F7 opcodes
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run0f.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index 466220bc..a05b3596 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -1734,7 +1734,16 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) tmp32u += (GM->ub[i]>EM->ub[i])?(GM->ub[i] - EM->ub[i]):(EM->ub[i] - GM->ub[i]); GM->q = tmp32u; break; - + case 0xF7: /* MASKMOVQ Gm, Em */ + nextop = F8; + GETEM(0); + GETGM; + for (int i = 0; i < 8; i++) { + if (EM->ub[i] & 0x80) { + ((reg64_t*)(emu->regs[_DI].q[0]))->byte[i] = GM->ub[i]; + } + } + break; case 0xF8: /* PSUBB Gm,Em */ nextop = F8; GETEM(0); |