diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-06-17 22:15:03 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-06-17 22:15:03 +0200 |
| commit | 7bec96e4b239d3d9167b9945af2ab0cbdd4251af (patch) | |
| tree | 828f96c609da8bf89963b42b2116f2ba1d421f92 /src | |
| parent | 6bb1bacfbaf6cd46adb601d47881182e5ce4bb9d (diff) | |
| download | box64-7bec96e4b239d3d9167b9945af2ab0cbdd4251af.tar.gz box64-7bec96e4b239d3d9167b9945af2ab0cbdd4251af.zip | |
[COSIM] Some improvment to avoid segfault in edge cases
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run.c | 2 | ||||
| -rw-r--r-- | src/emu/x64run660f.c | 2 | ||||
| -rw-r--r-- | src/emu/x64runf30f.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c index ff08d3fb..e56a0431 100644 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -436,7 +436,7 @@ x64emurun: break; case 0x63: /* MOVSXD Gd,Ed */ nextop = F8; - GETED(0); + GETE4(0); GETGD; if(rex.is32bits) { // ARPL here diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index e5bf347e..aacf2768 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -2255,7 +2255,7 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) break; case 0xD6: /* MOVQ Ex,Gx */ nextop = F8; - GETEX(0); + GETEX8(0); GETGX; EX->q[0] = GX->q[0]; if(MODREG) diff --git a/src/emu/x64runf30f.c b/src/emu/x64runf30f.c index 1c650469..d42586fe 100644 --- a/src/emu/x64runf30f.c +++ b/src/emu/x64runf30f.c @@ -54,7 +54,7 @@ uintptr_t RunF30F(x64emu_t *emu, rex_t rex, uintptr_t addr) case 0x10: /* MOVSS Gx Ex */ nextop = F8; - GETEX(0); + GETEX4(0); GETGX; GX->ud[0] = EX->ud[0]; if(!MODREG) { @@ -64,7 +64,7 @@ uintptr_t RunF30F(x64emu_t *emu, rex_t rex, uintptr_t addr) break; case 0x11: /* MOVSS Ex Gx */ nextop = F8; - GETEX(0); + GETEX4(0); GETGX; EX->ud[0] = GX->ud[0]; break; |