Initial commit of dynamic recompiler.
Various CPU changes to support dynamic recompiler.
This commit is contained in:
parent
17cae8a2d7
commit
4676daade4
52 changed files with 3740 additions and 1139 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue