From 3880b7811b1c7393f6ece708f17e1fb2219a16e0 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sun, 25 Jun 2023 15:20:18 +0200 Subject: [32BITS] Added 1E/1F opcodes --- src/emu/x64run.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/emu/x64run.c b/src/emu/x64run.c index 397fbed1..8f23eac4 100755 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -196,6 +196,22 @@ x64emurun: GO(0x30, xor) /* XOR 0x30 -> 0x35 */ #undef GO + case 0x1E: /* PUSH DS */ + if(!rex.is32bits) { + unimp = 1; + goto fini; + } + Push(emu, emu->segs[_DS]); // even if a segment is a 16bits, a 32bits push/pop is done + break; + case 0x1F: /* POP DS */ + if(!rex.is32bits) { + unimp = 1; + goto fini; + } + emu->segs[_DS] = Pop(emu); // no check, no use.... + emu->segs_serial[_DS] = 0; + break; + case 0x2E: /* segments are ignored */ case 0x26: case 0x36: /* SS: (ignored) */ -- cgit 1.4.1