diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-03-05 15:01:58 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-03-05 15:01:58 +0100 |
| commit | 0e9b61b3d87359ed275b2ec6338133b8a10e7a9f (patch) | |
| tree | 12bc32262f1282d6e967a50c0c211c317e201275 /src/emu | |
| parent | 4c2008f6cbf413839396e85de3409d3fcabcd541 (diff) | |
| download | box64-0e9b61b3d87359ed275b2ec6338133b8a10e7a9f.tar.gz box64-0e9b61b3d87359ed275b2ec6338133b8a10e7a9f.zip | |
Added 64 63 opcode ([DYNAREC] Too)
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run64.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/emu/x64run64.c b/src/emu/x64run64.c index a1e5a38b..07ba3590 100644 --- a/src/emu/x64run64.c +++ b/src/emu/x64run64.c @@ -236,6 +236,19 @@ int Run64(x64emu_t *emu, rex_t rex, int seg) break; + case 0x63: /* MOVSXD Gd,Ed */ + nextop = F8; + GETED_OFFS(0, tlsdata); + GETGD; + if(rex.w) + GD->sq[0] = ED->sdword[0]; + else + if(MODREG) + GD->q[0] = ED->dword[0]; // not really a sign extension + else + GD->sdword[0] = ED->sdword[0]; // meh? + break; + case 0x66: return Run6664(emu, rex); |