about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-05-21 10:05:36 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-05-21 10:05:36 +0200
commit4be307820bab87e8bcd219b95ac0f5cb9b3acc3e (patch)
tree585bde0dee77a5af8a1ffa2ab91176ac0ef82c3d /src/emu
parent15227bbc0651b7e16ef082435932eb085c3a9ea4 (diff)
downloadbox64-4be307820bab87e8bcd219b95ac0f5cb9b3acc3e.tar.gz
box64-4be307820bab87e8bcd219b95ac0f5cb9b3acc3e.zip
Added 64 80 opcodes ([DYNAREC] too)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64run64.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/emu/x64run64.c b/src/emu/x64run64.c
index ae4dbe63..3b6bb4f2 100644
--- a/src/emu/x64run64.c
+++ b/src/emu/x64run64.c
@@ -217,7 +217,21 @@ int Run64(x64emu_t *emu, rex_t rex)
             }

             break;

 

-

+        case 0x80:                      /* GRP Eb,Ib */

+            nextop = F8;

+            GETEB_OFFS(1, tlsdata);

+            tmp8u = F8;

+            switch((nextop>>3)&7) {

+                case 0: EB->byte[0] = add8(emu, EB->byte[0], tmp8u); break;

+                case 1: EB->byte[0] =  or8(emu, EB->byte[0], tmp8u); break;

+                case 2: EB->byte[0] = adc8(emu, EB->byte[0], tmp8u); break;

+                case 3: EB->byte[0] = sbb8(emu, EB->byte[0], tmp8u); break;

+                case 4: EB->byte[0] = and8(emu, EB->byte[0], tmp8u); break;

+                case 5: EB->byte[0] = sub8(emu, EB->byte[0], tmp8u); break;

+                case 6: EB->byte[0] = xor8(emu, EB->byte[0], tmp8u); break;

+                case 7:               cmp8(emu, EB->byte[0], tmp8u); break;

+            }

+            break;

         case 0x81:                      /* GRP Ed,Id */

         case 0x83:                      /* GRP Ed,Ib */

             nextop = F8;