diff options
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run64.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/emu/x64run64.c b/src/emu/x64run64.c index a9941291..c39ff5e7 100644 --- a/src/emu/x64run64.c +++ b/src/emu/x64run64.c @@ -335,7 +335,20 @@ uintptr_t Run64(x64emu_t *emu, rex_t rex, int seg, uintptr_t addr) GD->sdword[0] = ED->sdword[0]; // meh? } break; - + case 0x64: /* FS: prefix */ + #ifdef TEST_INTERPRETER + return Test64(test, rex, _FS, addr); + #else + return Run64(emu, rex, _FS, addr); + #endif + break; + case 0x65: /* GS: prefix */ + #ifdef TEST_INTERPRETER + return Test64(test, rex, _GS, addr); + #else + return Run64(emu, rex, _GS, addr); + #endif + break; case 0x66: return Run6664(emu, rex, seg, addr); case 0x67: @@ -477,6 +490,8 @@ uintptr_t Run64(x64emu_t *emu, rex_t rex, int seg, uintptr_t addr) } } break; + case 0x90: /* NOP */ + break; case 0xA1: /* MOV EAX,FS:Od */ if(rex.is32bits) { |