From 4be307820bab87e8bcd219b95ac0f5cb9b3acc3e Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 21 May 2021 10:05:36 +0200 Subject: Added 64 80 opcodes ([DYNAREC] too) --- src/emu/x64run64.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/emu') 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; -- cgit 1.4.1