about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
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;