diff options
| author | ptitSeb <seebastien.chev@gmail.com> | 2023-08-13 14:20:30 +0200 |
|---|---|---|
| committer | ptitSeb <seebastien.chev@gmail.com> | 2023-08-13 14:20:30 +0200 |
| commit | 607ac40ab31be86ba3c201237f420361b4bb0f14 (patch) | |
| tree | 121ef82f22cb76d03a8eae5be94eebcb1b7fe1f8 /src | |
| parent | 69c7ca8bdc23de6fb9e7d637042b6d5e2910ca4d (diff) | |
| download | box64-607ac40ab31be86ba3c201237f420361b4bb0f14.tar.gz box64-607ac40ab31be86ba3c201237f420361b4bb0f14.zip | |
Added 0F A8/A9 opcodes
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run0f.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index 06424813..466220bc 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -881,6 +881,20 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) } break; + case 0xA8: /* PUSH GS */ + if(rex.is32bits) + Push32(emu, emu->segs[_GS]); + else + Push64(emu, emu->segs[_GS]); + break; + case 0xA9: /* POP GS */ + if(rex.is32bits) + emu->segs[_GS] = Pop32(emu); + else + emu->segs[_GS] = Pop64(emu); + emu->segs_serial[_FS] = 0; + break; + case 0xAB: /* BTS Ed,Gd */ CHECK_FLAGS(emu); nextop = F8; |