From 8b0c55aec56f84a68fa9fe62559520f182ba135f Mon Sep 17 00:00:00 2001 From: TomW Date: Sat, 3 Aug 2013 20:40:56 +0100 Subject: [PATCH] Fixed 0fh prefix illegal instructions. --- src/386_ops.h | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/386_ops.h b/src/386_ops.h index fba97a4..0fe027a 100644 --- a/src/386_ops.h +++ b/src/386_ops.h @@ -112,20 +112,13 @@ static int op0F_w_a16(uint32_t fetchdat) { int opcode = fetchdat & 0xff; pc++; - if (x86_opcodes_0f[opcode] == ILLEGAL && opcode != 0xff) - { - fatal("Illegal 0f instruction %02X w_a16\n", opcode); - } + return x86_opcodes_0f[opcode](fetchdat >> 8); } static int op0F_l_a16(uint32_t fetchdat) { int opcode = fetchdat & 0xff; pc++; - if (x86_opcodes_0f[opcode | 0x100] == ILLEGAL && opcode != 0xff) - { - fatal("Illegal 0f instruction %02X l_a16\n", opcode); - } return x86_opcodes_0f[opcode | 0x100](fetchdat >> 8); } @@ -133,10 +126,6 @@ static int op0F_w_a32(uint32_t fetchdat) { int opcode = fetchdat & 0xff; pc++; - if (x86_opcodes_0f[opcode | 0x200] == ILLEGAL && opcode != 0xff) - { - fatal("Illegal 0f instruction %02X w_a32\n", opcode); - } return x86_opcodes_0f[opcode | 0x200](fetchdat >> 8); } @@ -144,10 +133,6 @@ static int op0F_l_a32(uint32_t fetchdat) { int opcode = fetchdat & 0xff; pc++; - if (x86_opcodes_0f[opcode | 0x300] == ILLEGAL && opcode != 0xff) - { - fatal("Illegal 0f instruction %02X l_a32\n", opcode); - } return x86_opcodes_0f[opcode | 0x300](fetchdat >> 8); }