Initial commit of dynamic recompiler.

Various CPU changes to support dynamic recompiler.
This commit is contained in:
TomW 2014-11-05 21:24:16 +00:00
commit 4676daade4
52 changed files with 3740 additions and 1139 deletions

View file

@ -2,9 +2,10 @@
static int opESCAPE_ ## num ##_a16(uint32_t fetchdat) \
{ \
flags_rebuild(); \
if (cr0 & 0xc) \
if (cr0 & 0xc) \
{ \
x86_int(7); \
return 1; \
} \
else \
{ \
@ -16,17 +17,18 @@
x87_pc_seg = CS; \
x87_op_off = eaaddr; \
x87_op_seg = ea_rseg; \
x87_ ## num(); \
x87_ ## num(fetchdat); \
} \
} \
return 0; \
return abrt; \
} \
static int opESCAPE_ ## num ## _a32(uint32_t fetchdat) \
{ \
flags_rebuild(); \
if (cr0 & 0xc) \
if (cr0 & 0xc) \
{ \
x86_int(7); \
return 1; \
} \
else \
{ \
@ -38,10 +40,10 @@
x87_pc_seg = CS; \
x87_op_off = eaaddr; \
x87_op_seg = ea_rseg; \
x87_ ## num(); \
x87_ ## num(fetchdat); \
} \
} \
return 0; \
return abrt; \
}
opESCAPE(d8);
@ -58,7 +60,7 @@ static int opWAIT(uint32_t fetchdat)
if ((cr0 & 0xa) == 0xa)
{
x86_int(7);
return 0;
return 1;
}
cycles -= 4;
return 0;