about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-02-24 12:08:16 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-02-24 12:08:16 +0100
commit2eb92951afa3566b149ebd8cc3d6185b63e78f6c (patch)
treec12a8738da129c7c53b08c0924c2c8203cac58bd /src/emu
parentf8202096f1c4d8608809bc42f15fbd765e8c148b (diff)
downloadbox64-2eb92951afa3566b149ebd8cc3d6185b63e78f6c.tar.gz
box64-2eb92951afa3566b149ebd8cc3d6185b63e78f6c.zip
[32BITS] Added 0E opcode ([ARM64_DYNAREC] too)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64run.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 068dc007..db7aabc3 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -166,6 +166,13 @@ x64emurun:
             emu->segs_serial[_ES] = 0;
             break;
         GO(0x08, or)                    /*  OR 0x08 -> 0x0D */
+        case 0x0E:                      /* PUSH CS */
+            if(!rex.is32bits) {
+                unimp = 1;
+                goto fini;
+            }
+            Push32(emu, emu->segs[_CS]);  // even if a segment is a 16bits, a 32bits push/pop is done
+            break;
         case 0x0F:                      /* More instructions */
             switch(rep) {
                 case 1: