This commit is contained in:
sin365 2025-11-03 13:08:23 +08:00
commit 494d62aa2e
11 changed files with 1165 additions and 29 deletions

View File

@ -130,10 +130,10 @@ namespace cpu.nec
public Action<int, byte> WriteIOByte;
public Func<int, ushort> ReadIOWord;
public Action<int, ushort> WriteIOWord;
public delegate void nec_delegate();
public nec_delegate[] nec_instruction;
public delegate int getea_delegate();
public getea_delegate[] GetEA;
//public delegate void nec_delegate();
//public nec_delegate[] nec_instruction;
//public delegate int getea_delegate();
//public getea_delegate[] GetEA;
public Nec()
{
nec_init();
@ -483,7 +483,8 @@ namespace cpu.nec
}
else
{
EA = GetEA[ModRM]();
//EA = GetEA[ModRM]();
EA = DoNecGetEAOpCode(ModRM);
tmp = ReadByte(EA);
}
}
@ -496,7 +497,8 @@ namespace cpu.nec
}
else
{
EA = GetEA[ModRM]();
//EA = GetEA[ModRM]();
EA = DoNecGetEAOpCode(ModRM);
tmp = ReadWord(EA);
}
}
@ -801,6 +803,8 @@ namespace cpu.nec
mod_RM.regb = new int[256];
mod_RM.RMw = new int[256];
mod_RM.RMb = new int[256];
//更换调度方式不再依赖Delegate委托
/*
nec_instruction = new nec_delegate[]{
i_add_br8,
i_add_wr16,
@ -1059,6 +1063,9 @@ namespace cpu.nec
i_fepre,
i_ffpre
};
*/
/*
GetEA = new getea_delegate[192]{
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
@ -1087,17 +1094,26 @@ namespace cpu.nec
EA_200, EA_201, EA_202, EA_203, EA_204, EA_205, EA_206, EA_207,
EA_200, EA_201, EA_202, EA_203, EA_204, EA_205, EA_206, EA_207
};
*/
}
public override void Reset()
{
nec_reset();
}
static int[] nec_reset_reg_name = new int[8] { 0, 2, 4, 6, 1, 3, 5, 7 };
public void nec_reset()
{
//const nec_config *config;
uint i, j, c;
//BREGS[] reg_name = new BREGS[8] { BREGS.AL, BREGS.CL, BREGS.DL, BREGS.BL, BREGS.AH, BREGS.CH, BREGS.DH, BREGS.BH };
int[] reg_name = new int[8] { 0, 2, 4, 6, 1, 3, 5, 7 };
//静态化减少GC
//int[] reg_name = new int[8] { 0, 2, 4, 6, 1, 3, 5, 7 };
//int (*save_irqcallback)(int);
//memory_interface save_mem;
//save_irqcallback = I.irq_callback;
@ -1145,13 +1161,13 @@ namespace cpu.nec
I.MF = true;
for (i = 0; i < 256; i++)
{
mod_RM.regb[i] = reg_name[(i & 0x38) >> 3];
mod_RM.regb[i] = nec_reset_reg_name[(i & 0x38) >> 3];
mod_RM.regw[i] = (int)((i & 0x38) >> 3);
}
for (i = 0xc0; i < 0x100; i++)
{
mod_RM.RMw[i] = (int)(i & 7);
mod_RM.RMb[i] = reg_name[i & 7];
mod_RM.RMb[i] = nec_reset_reg_name[i & 7];
}
I.poll_state = true;
}
@ -1180,7 +1196,8 @@ namespace cpu.nec
}
public void nec_trap()
{
nec_instruction[fetchop()]();
//nec_instruction[fetchop()]();
DoInstructionOpCode(fetchop());
nec_interrupt(1, false);
}
public void external_int()
@ -1289,7 +1306,8 @@ namespace cpu.nec
I.no_interrupt--;
}
iNOP = fetchop();
nec_instruction[iNOP]();
//nec_instruction[iNOP]();
DoInstructionOpCode(iNOP);
int delta = prevCycles - pendingCycles;
totalExecutedCycles += (ulong)delta;
}
@ -1329,7 +1347,8 @@ namespace cpu.nec
I.no_interrupt--;
}
iNOP = fetchop();
nec_instruction[iNOP]();
//nec_instruction[iNOP]();
DoInstructionOpCode(iNOP);
int delta = prevCycles - pendingCycles;
totalExecutedCycles += (ulong)delta;
}

View File

@ -372,7 +372,8 @@
seg_prefix = 1;
prefix_base = I.sregs[0] << 4;
CLK(2);
nec_instruction[fetchop()]();
//nec_instruction[fetchop()]();
DoInstructionOpCode(fetchop());
seg_prefix = 0;
}
void i_daa()
@ -441,7 +442,8 @@
seg_prefix = 1;
prefix_base = I.sregs[1] << 4;
CLK(2);
nec_instruction[fetchop()]();
//nec_instruction[fetchop()]();
DoInstructionOpCode(fetchop());
seg_prefix = 0;
}
void i_das()
@ -510,7 +512,8 @@
seg_prefix = 1;
prefix_base = I.sregs[2] << 4;
CLK(2);
nec_instruction[fetchop()]();
//nec_instruction[fetchop()]();
DoInstructionOpCode(fetchop());
seg_prefix = 0;
}
void i_aaa()
@ -569,7 +572,8 @@
seg_prefix = 1;
prefix_base = I.sregs[3] << 4;
CLK(2);
nec_instruction[fetchop()]();
//nec_instruction[fetchop()]();
DoInstructionOpCode(fetchop());
seg_prefix = 0;
}
void i_aas()
@ -839,7 +843,10 @@
case 0xad: CLK(2); if (c != 0) do { i_lodsw(); c--; } while (c > 0 && !CF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xae: CLK(2); if (c != 0) do { i_scasb(); c--; } while (c > 0 && !CF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xaf: CLK(2); if (c != 0) do { i_scasw(); c--; } while (c > 0 && !CF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
default: nec_instruction[next](); break;
default:
//nec_instruction[next]();
DoInstructionOpCode(next);
break;
}
seg_prefix = 0;
}
@ -870,7 +877,10 @@
case 0xad: CLK(2); if (c != 0) do { i_lodsw(); c--; } while (c > 0 && CF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xae: CLK(2); if (c != 0) do { i_scasb(); c--; } while (c > 0 && CF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xaf: CLK(2); if (c != 0) do { i_scasw(); c--; } while (c > 0 && CF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
default: nec_instruction[next](); break;
default:
//nec_instruction[next]();
DoInstructionOpCode(next);
break;
}
seg_prefix = 0;
}
@ -1315,7 +1325,10 @@
void i_lea()
{
int ModRM = FETCH();
GetEA[ModRM]();
//GetEA[ModRM]();
DoNecGetEAOpCode(ModRM);
//I.regs.w[mod_RM.regw[ModRM]] = EO;
I.regs.b[mod_RM.regw[ModRM] * 2] = (byte)(EO % 0x100);
I.regs.b[mod_RM.regw[ModRM] * 2 + 1] = (byte)(EO / 0x100);
@ -2203,7 +2216,10 @@
case 0xad: CLK(2); if (c != 0) do { i_lodsw(); c--; } while (c > 0); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xae: CLK(2); if (c != 0) do { i_scasb(); c--; } while (c > 0 && ZF() == false); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xaf: CLK(2); if (c != 0) do { i_scasw(); c--; } while (c > 0 && ZF() == false); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
default: nec_instruction[next](); break;
default:
//nec_instruction[next]();
DoInstructionOpCode(next);
break;
}
seg_prefix = 0;
}
@ -2234,7 +2250,10 @@
case 0xad: CLK(2); if (c != 0) do { i_lodsw(); c--; } while (c > 0); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xae: CLK(2); if (c != 0) do { i_scasb(); c--; } while (c > 0 && ZF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
case 0xaf: CLK(2); if (c != 0) do { i_scasw(); c--; } while (c > 0 && ZF()); I.regs.b[2] = (byte)(c % 0x100); I.regs.b[3] = (byte)(c / 0x100); break;
default: nec_instruction[next](); break;
default:
//nec_instruction[next]();
DoInstructionOpCode(next);
break;
}
seg_prefix = 0;
}
@ -2419,8 +2438,21 @@
tmp = GetRMByte(ModRM);
switch (ModRM & 0x38)
{
case 0x00: tmp1 = (byte)(tmp + 1); I.OverVal = (uint)((tmp == 0x7f) ? 1 : 0); SetAF(tmp1, tmp, 1); SetSZPF_Byte(tmp1); PutbackRMByte(ModRM, (byte)tmp1); CLKM(ModRM, 2, 2, 2, 16, 16, 7); break;
case 0x08: tmp1 = (byte)(tmp - 1); I.OverVal = (uint)((tmp == 0x80) ? 1 : 0); SetAF(tmp1, tmp, 1); SetSZPF_Byte(tmp1); PutbackRMByte(ModRM, (byte)tmp1); CLKM(ModRM, 2, 2, 2, 16, 16, 7); break;
case 0x00:
tmp1 = (byte)(tmp + 1);
I.OverVal = (uint)((tmp == 0x7f) ? 1 : 0);
SetAF(tmp1, tmp, 1);
SetSZPF_Byte(tmp1);
PutbackRMByte(ModRM, (byte)tmp1);
CLKM(ModRM, 2, 2, 2, 16, 16, 7);
break;
case 0x08:
tmp1 = (byte)(tmp - 1);
I.OverVal = (uint)((tmp == 0x80) ? 1 : 0);
SetAF(tmp1, tmp, 1); SetSZPF_Byte(tmp1);
PutbackRMByte(ModRM, (byte)tmp1);
CLKM(ModRM, 2, 2, 2, 16, 16, 7);
break;
default: break;
}
}

View File

@ -12,7 +12,11 @@
}
ushort GetRMWord(int ModRM)
{
return (ushort)(ModRM >= 0xc0 ? I.regs.b[mod_RM.RMw[ModRM] * 2] + I.regs.b[mod_RM.RMw[ModRM] * 2 + 1] * 0x100 : ReadWord(GetEA[ModRM]()));
return (ushort)(ModRM >= 0xc0 ? I.regs.b[mod_RM.RMw[ModRM] * 2] + I.regs.b[mod_RM.RMw[ModRM] * 2 + 1] * 0x100 :
ReadWord(
//GetEA[ModRM]()
DoNecGetEAOpCode(ModRM)
));
}
void PutbackRMWord(int ModRM, ushort val)
{
@ -41,7 +45,10 @@
}
else
{
WriteWord(GetEA[ModRM](), val);
WriteWord(
//GetEA[ModRM]()
DoNecGetEAOpCode(ModRM)
, val);
}
}
void PutImmRMWord(int ModRM)
@ -56,14 +63,18 @@
}
else
{
EA = GetEA[ModRM]();
//EA = GetEA[ModRM]();
EA = DoNecGetEAOpCode(ModRM);
val = FETCHWORD();
WriteWord(EA, val);
}
}
byte GetRMByte(int ModRM)
{
return ((ModRM) >= 0xc0 ? I.regs.b[mod_RM.RMb[ModRM]] : ReadByte(GetEA[ModRM]()));
return ((ModRM) >= 0xc0 ? I.regs.b[mod_RM.RMb[ModRM]] : ReadByte(
//GetEA[ModRM]()
DoNecGetEAOpCode(ModRM)
));
}
void PutRMByte(int ModRM, byte val)
{
@ -73,7 +84,10 @@
}
else
{
WriteByte(GetEA[ModRM](), val);
WriteByte(
//GetEA[ModRM]()
DoNecGetEAOpCode(ModRM)
, val);
}
}
void PutImmRMByte(int ModRM)
@ -84,7 +98,8 @@
}
else
{
EA = GetEA[ModRM]();
//EA = GetEA[ModRM]();
EA = DoNecGetEAOpCode(ModRM);
WriteByte(EA, FETCH());
}
}

View File

@ -0,0 +1,44 @@
namespace cpu.nec
{
public partial class Nec
{
/// <summary>
/// 重写的Nec GetEAOpCode指令调度
/// </summary>
/// <param name="op"></param>
public int DoNecGetEAOpCode(int op)
{
NecGetEAOpCode opType = NecGetEAOpCodeArr[op];
switch (opType)
{
case NecGetEAOpCode.EA_000: return EA_000();
case NecGetEAOpCode.EA_001: return EA_001();
case NecGetEAOpCode.EA_002: return EA_002();
case NecGetEAOpCode.EA_003: return EA_003();
case NecGetEAOpCode.EA_004: return EA_004();
case NecGetEAOpCode.EA_005: return EA_005();
case NecGetEAOpCode.EA_006: return EA_006();
case NecGetEAOpCode.EA_007: return EA_007();
case NecGetEAOpCode.EA_100: return EA_100();
case NecGetEAOpCode.EA_101: return EA_101();
case NecGetEAOpCode.EA_102: return EA_102();
case NecGetEAOpCode.EA_103: return EA_103();
case NecGetEAOpCode.EA_104: return EA_104();
case NecGetEAOpCode.EA_105: return EA_105();
case NecGetEAOpCode.EA_106: return EA_106();
case NecGetEAOpCode.EA_107: return EA_107();
case NecGetEAOpCode.EA_200: return EA_200();
case NecGetEAOpCode.EA_201: return EA_201();
case NecGetEAOpCode.EA_202: return EA_202();
case NecGetEAOpCode.EA_203: return EA_203();
case NecGetEAOpCode.EA_204: return EA_204();
case NecGetEAOpCode.EA_205: return EA_205();
case NecGetEAOpCode.EA_206: return EA_206();
case NecGetEAOpCode.EA_207: return EA_207();
default:
throw new System.Exception("NecGetEAOpCode Err");
}
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 595009a52b5a796458afde459dc08caa

View File

@ -0,0 +1,233 @@
namespace cpu.nec
{
partial class Nec
{
/// <summary>
/// 自定义Nec GetEA 指令集枚举
/// </summary>
public enum NecGetEAOpCode : byte
{
EA_000,
EA_001,
EA_002,
EA_003,
EA_004,
EA_005,
EA_006,
EA_007,
EA_100,
EA_101,
EA_102,
EA_103,
EA_104,
EA_105,
EA_106,
EA_107,
EA_200,
EA_201,
EA_202,
EA_203,
EA_204,
EA_205,
EA_206,
EA_207
}
static readonly NecGetEAOpCode[] NecGetEAOpCodeArr = new NecGetEAOpCode[]
{
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_000,
NecGetEAOpCode.EA_001,
NecGetEAOpCode.EA_002,
NecGetEAOpCode.EA_003,
NecGetEAOpCode.EA_004,
NecGetEAOpCode.EA_005,
NecGetEAOpCode.EA_006,
NecGetEAOpCode.EA_007,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_100,
NecGetEAOpCode.EA_101,
NecGetEAOpCode.EA_102,
NecGetEAOpCode.EA_103,
NecGetEAOpCode.EA_104,
NecGetEAOpCode.EA_105,
NecGetEAOpCode.EA_106,
NecGetEAOpCode.EA_107,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207,
NecGetEAOpCode.EA_200,
NecGetEAOpCode.EA_201,
NecGetEAOpCode.EA_202,
NecGetEAOpCode.EA_203,
NecGetEAOpCode.EA_204,
NecGetEAOpCode.EA_205,
NecGetEAOpCode.EA_206,
NecGetEAOpCode.EA_207
};
};
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 161d73b6e60175c40ad7b8a82e5def6a

View File

@ -0,0 +1,265 @@
namespace cpu.nec
{
public partial class Nec
{
/// <summary>
/// 重写的Nec Instruction指令调度
/// </summary>
/// <param name="op"></param>
public void DoInstructionOpCode(int op)
{
NecInstructionOpCode opType = NecInstructionOpCodeArr[op];
switch (opType)
{
case NecInstructionOpCode.i_add_br8: i_add_br8(); return;
case NecInstructionOpCode.i_add_wr16: i_add_wr16(); return;
case NecInstructionOpCode.i_add_r8b: i_add_r8b(); return;
case NecInstructionOpCode.i_add_r16w: i_add_r16w(); return;
case NecInstructionOpCode.i_add_ald8: i_add_ald8(); return;
case NecInstructionOpCode.i_add_axd16: i_add_axd16(); return;
case NecInstructionOpCode.i_push_es: i_push_es(); return;
case NecInstructionOpCode.i_pop_es: i_pop_es(); return;
case NecInstructionOpCode.i_or_br8: i_or_br8(); return;
case NecInstructionOpCode.i_or_wr16: i_or_wr16(); return;
case NecInstructionOpCode.i_or_r8b: i_or_r8b(); return;
case NecInstructionOpCode.i_or_r16w: i_or_r16w(); return;
case NecInstructionOpCode.i_or_ald8: i_or_ald8(); return;
case NecInstructionOpCode.i_or_axd16: i_or_axd16(); return;
case NecInstructionOpCode.i_push_cs: i_push_cs(); return;
case NecInstructionOpCode.i_pre_nec: i_pre_nec(); return;
case NecInstructionOpCode.i_adc_br8: i_adc_br8(); return;
case NecInstructionOpCode.i_adc_wr16: i_adc_wr16(); return;
case NecInstructionOpCode.i_adc_r8b: i_adc_r8b(); return;
case NecInstructionOpCode.i_adc_r16w: i_adc_r16w(); return;
case NecInstructionOpCode.i_adc_ald8: i_adc_ald8(); return;
case NecInstructionOpCode.i_adc_axd16: i_adc_axd16(); return;
case NecInstructionOpCode.i_push_ss: i_push_ss(); return;
case NecInstructionOpCode.i_pop_ss: i_pop_ss(); return;
case NecInstructionOpCode.i_sbb_br8: i_sbb_br8(); return;
case NecInstructionOpCode.i_sbb_wr16: i_sbb_wr16(); return;
case NecInstructionOpCode.i_sbb_r8b: i_sbb_r8b(); return;
case NecInstructionOpCode.i_sbb_r16w: i_sbb_r16w(); return;
case NecInstructionOpCode.i_sbb_ald8: i_sbb_ald8(); return;
case NecInstructionOpCode.i_sbb_axd16: i_sbb_axd16(); return;
case NecInstructionOpCode.i_push_ds: i_push_ds(); return;
case NecInstructionOpCode.i_pop_ds: i_pop_ds(); return;
case NecInstructionOpCode.i_and_br8: i_and_br8(); return;
case NecInstructionOpCode.i_and_wr16: i_and_wr16(); return;
case NecInstructionOpCode.i_and_r8b: i_and_r8b(); return;
case NecInstructionOpCode.i_and_r16w: i_and_r16w(); return;
case NecInstructionOpCode.i_and_ald8: i_and_ald8(); return;
case NecInstructionOpCode.i_and_axd16: i_and_axd16(); return;
case NecInstructionOpCode.i_es: i_es(); return;
case NecInstructionOpCode.i_daa: i_daa(); return;
case NecInstructionOpCode.i_sub_br8: i_sub_br8(); return;
case NecInstructionOpCode.i_sub_wr16: i_sub_wr16(); return;
case NecInstructionOpCode.i_sub_r8b: i_sub_r8b(); return;
case NecInstructionOpCode.i_sub_r16w: i_sub_r16w(); return;
case NecInstructionOpCode.i_sub_ald8: i_sub_ald8(); return;
case NecInstructionOpCode.i_sub_axd16: i_sub_axd16(); return;
case NecInstructionOpCode.i_cs: i_cs(); return;
case NecInstructionOpCode.i_das: i_das(); return;
case NecInstructionOpCode.i_xor_br8: i_xor_br8(); return;
case NecInstructionOpCode.i_xor_wr16: i_xor_wr16(); return;
case NecInstructionOpCode.i_xor_r8b: i_xor_r8b(); return;
case NecInstructionOpCode.i_xor_r16w: i_xor_r16w(); return;
case NecInstructionOpCode.i_xor_ald8: i_xor_ald8(); return;
case NecInstructionOpCode.i_xor_axd16: i_xor_axd16(); return;
case NecInstructionOpCode.i_ss: i_ss(); return;
case NecInstructionOpCode.i_aaa: i_aaa(); return;
case NecInstructionOpCode.i_cmp_br8: i_cmp_br8(); return;
case NecInstructionOpCode.i_cmp_wr16: i_cmp_wr16(); return;
case NecInstructionOpCode.i_cmp_r8b: i_cmp_r8b(); return;
case NecInstructionOpCode.i_cmp_r16w: i_cmp_r16w(); return;
case NecInstructionOpCode.i_cmp_ald8: i_cmp_ald8(); return;
case NecInstructionOpCode.i_cmp_axd16: i_cmp_axd16(); return;
case NecInstructionOpCode.i_ds: i_ds(); return;
case NecInstructionOpCode.i_aas: i_aas(); return;
case NecInstructionOpCode.i_inc_ax: i_inc_ax(); return;
case NecInstructionOpCode.i_inc_cx: i_inc_cx(); return;
case NecInstructionOpCode.i_inc_dx: i_inc_dx(); return;
case NecInstructionOpCode.i_inc_bx: i_inc_bx(); return;
case NecInstructionOpCode.i_inc_sp: i_inc_sp(); return;
case NecInstructionOpCode.i_inc_bp: i_inc_bp(); return;
case NecInstructionOpCode.i_inc_si: i_inc_si(); return;
case NecInstructionOpCode.i_inc_di: i_inc_di(); return;
case NecInstructionOpCode.i_dec_ax: i_dec_ax(); return;
case NecInstructionOpCode.i_dec_cx: i_dec_cx(); return;
case NecInstructionOpCode.i_dec_dx: i_dec_dx(); return;
case NecInstructionOpCode.i_dec_bx: i_dec_bx(); return;
case NecInstructionOpCode.i_dec_sp: i_dec_sp(); return;
case NecInstructionOpCode.i_dec_bp: i_dec_bp(); return;
case NecInstructionOpCode.i_dec_si: i_dec_si(); return;
case NecInstructionOpCode.i_dec_di: i_dec_di(); return;
case NecInstructionOpCode.i_push_ax: i_push_ax(); return;
case NecInstructionOpCode.i_push_cx: i_push_cx(); return;
case NecInstructionOpCode.i_push_dx: i_push_dx(); return;
case NecInstructionOpCode.i_push_bx: i_push_bx(); return;
case NecInstructionOpCode.i_push_sp: i_push_sp(); return;
case NecInstructionOpCode.i_push_bp: i_push_bp(); return;
case NecInstructionOpCode.i_push_si: i_push_si(); return;
case NecInstructionOpCode.i_push_di: i_push_di(); return;
case NecInstructionOpCode.i_pop_ax: i_pop_ax(); return;
case NecInstructionOpCode.i_pop_cx: i_pop_cx(); return;
case NecInstructionOpCode.i_pop_dx: i_pop_dx(); return;
case NecInstructionOpCode.i_pop_bx: i_pop_bx(); return;
case NecInstructionOpCode.i_pop_sp: i_pop_sp(); return;
case NecInstructionOpCode.i_pop_bp: i_pop_bp(); return;
case NecInstructionOpCode.i_pop_si: i_pop_si(); return;
case NecInstructionOpCode.i_pop_di: i_pop_di(); return;
case NecInstructionOpCode.i_pusha: i_pusha(); return;
case NecInstructionOpCode.i_popa: i_popa(); return;
case NecInstructionOpCode.i_chkind: i_chkind(); return;
case NecInstructionOpCode.i_brkn: i_brkn(); return;
case NecInstructionOpCode.i_repnc: i_repnc(); return;
case NecInstructionOpCode.i_repc: i_repc(); return;
case NecInstructionOpCode.i_invalid: i_invalid(); return;
case NecInstructionOpCode.i_push_d16: i_push_d16(); return;
case NecInstructionOpCode.i_imul_d16: i_imul_d16(); return;
case NecInstructionOpCode.i_push_d8: i_push_d8(); return;
case NecInstructionOpCode.i_imul_d8: i_imul_d8(); return;
case NecInstructionOpCode.i_insb: i_insb(); return;
case NecInstructionOpCode.i_insw: i_insw(); return;
case NecInstructionOpCode.i_outsb: i_outsb(); return;
case NecInstructionOpCode.i_outsw: i_outsw(); return;
case NecInstructionOpCode.i_jo: i_jo(); return;
case NecInstructionOpCode.i_jno: i_jno(); return;
case NecInstructionOpCode.i_jc: i_jc(); return;
case NecInstructionOpCode.i_jnc: i_jnc(); return;
case NecInstructionOpCode.i_jz: i_jz(); return;
case NecInstructionOpCode.i_jnz: i_jnz(); return;
case NecInstructionOpCode.i_jce: i_jce(); return;
case NecInstructionOpCode.i_jnce: i_jnce(); return;
case NecInstructionOpCode.i_js: i_js(); return;
case NecInstructionOpCode.i_jns: i_jns(); return;
case NecInstructionOpCode.i_jp: i_jp(); return;
case NecInstructionOpCode.i_jnp: i_jnp(); return;
case NecInstructionOpCode.i_jl: i_jl(); return;
case NecInstructionOpCode.i_jnl: i_jnl(); return;
case NecInstructionOpCode.i_jle: i_jle(); return;
case NecInstructionOpCode.i_jnle: i_jnle(); return;
case NecInstructionOpCode.i_80pre: i_80pre(); return;
case NecInstructionOpCode.i_81pre: i_81pre(); return;
case NecInstructionOpCode.i_82pre: i_82pre(); return;
case NecInstructionOpCode.i_83pre: i_83pre(); return;
case NecInstructionOpCode.i_test_br8: i_test_br8(); return;
case NecInstructionOpCode.i_test_wr16: i_test_wr16(); return;
case NecInstructionOpCode.i_xchg_br8: i_xchg_br8(); return;
case NecInstructionOpCode.i_xchg_wr16: i_xchg_wr16(); return;
case NecInstructionOpCode.i_mov_br8: i_mov_br8(); return;
case NecInstructionOpCode.i_mov_wr16: i_mov_wr16(); return;
case NecInstructionOpCode.i_mov_r8b: i_mov_r8b(); return;
case NecInstructionOpCode.i_mov_r16w: i_mov_r16w(); return;
case NecInstructionOpCode.i_mov_wsreg: i_mov_wsreg(); return;
case NecInstructionOpCode.i_lea: i_lea(); return;
case NecInstructionOpCode.i_mov_sregw: i_mov_sregw(); return;
case NecInstructionOpCode.i_popw: i_popw(); return;
case NecInstructionOpCode.i_nop: i_nop(); return;
case NecInstructionOpCode.i_xchg_axcx: i_xchg_axcx(); return;
case NecInstructionOpCode.i_xchg_axdx: i_xchg_axdx(); return;
case NecInstructionOpCode.i_xchg_axbx: i_xchg_axbx(); return;
case NecInstructionOpCode.i_xchg_axsp: i_xchg_axsp(); return;
case NecInstructionOpCode.i_xchg_axbp: i_xchg_axbp(); return;
case NecInstructionOpCode.i_xchg_axsi: i_xchg_axsi(); return;
case NecInstructionOpCode.i_xchg_axdi: i_xchg_axdi(); return;
case NecInstructionOpCode.i_cbw: i_cbw(); return;
case NecInstructionOpCode.i_cwd: i_cwd(); return;
case NecInstructionOpCode.i_call_far: i_call_far(); return;
case NecInstructionOpCode.i_wait: i_wait(); return;
case NecInstructionOpCode.i_pushf: i_pushf(); return;
case NecInstructionOpCode.i_popf: i_popf(); return;
case NecInstructionOpCode.i_sahf: i_sahf(); return;
case NecInstructionOpCode.i_lahf: i_lahf(); return;
case NecInstructionOpCode.i_mov_aldisp: i_mov_aldisp(); return;
case NecInstructionOpCode.i_mov_axdisp: i_mov_axdisp(); return;
case NecInstructionOpCode.i_mov_dispal: i_mov_dispal(); return;
case NecInstructionOpCode.i_mov_dispax: i_mov_dispax(); return;
case NecInstructionOpCode.i_movsb: i_movsb(); return;
case NecInstructionOpCode.i_movsw: i_movsw(); return;
case NecInstructionOpCode.i_cmpsb: i_cmpsb(); return;
case NecInstructionOpCode.i_cmpsw: i_cmpsw(); return;
case NecInstructionOpCode.i_test_ald8: i_test_ald8(); return;
case NecInstructionOpCode.i_test_axd16: i_test_axd16(); return;
case NecInstructionOpCode.i_stosb: i_stosb(); return;
case NecInstructionOpCode.i_stosw: i_stosw(); return;
case NecInstructionOpCode.i_lodsb: i_lodsb(); return;
case NecInstructionOpCode.i_lodsw: i_lodsw(); return;
case NecInstructionOpCode.i_scasb: i_scasb(); return;
case NecInstructionOpCode.i_scasw: i_scasw(); return;
case NecInstructionOpCode.i_mov_ald8: i_mov_ald8(); return;
case NecInstructionOpCode.i_mov_cld8: i_mov_cld8(); return;
case NecInstructionOpCode.i_mov_dld8: i_mov_dld8(); return;
case NecInstructionOpCode.i_mov_bld8: i_mov_bld8(); return;
case NecInstructionOpCode.i_mov_ahd8: i_mov_ahd8(); return;
case NecInstructionOpCode.i_mov_chd8: i_mov_chd8(); return;
case NecInstructionOpCode.i_mov_dhd8: i_mov_dhd8(); return;
case NecInstructionOpCode.i_mov_bhd8: i_mov_bhd8(); return;
case NecInstructionOpCode.i_mov_axd16: i_mov_axd16(); return;
case NecInstructionOpCode.i_mov_cxd16: i_mov_cxd16(); return;
case NecInstructionOpCode.i_mov_dxd16: i_mov_dxd16(); return;
case NecInstructionOpCode.i_mov_bxd16: i_mov_bxd16(); return;
case NecInstructionOpCode.i_mov_spd16: i_mov_spd16(); return;
case NecInstructionOpCode.i_mov_bpd16: i_mov_bpd16(); return;
case NecInstructionOpCode.i_mov_sid16: i_mov_sid16(); return;
case NecInstructionOpCode.i_mov_did16: i_mov_did16(); return;
case NecInstructionOpCode.i_rotshft_bd8: i_rotshft_bd8(); return;
case NecInstructionOpCode.i_rotshft_wd8: i_rotshft_wd8(); return;
case NecInstructionOpCode.i_ret_d16: i_ret_d16(); return;
case NecInstructionOpCode.i_ret: i_ret(); return;
case NecInstructionOpCode.i_les_dw: i_les_dw(); return;
case NecInstructionOpCode.i_lds_dw: i_lds_dw(); return;
case NecInstructionOpCode.i_mov_bd8: i_mov_bd8(); return;
case NecInstructionOpCode.i_mov_wd16: i_mov_wd16(); return;
case NecInstructionOpCode.i_enter: i_enter(); return;
case NecInstructionOpCode.i_leave: i_leave(); return;
case NecInstructionOpCode.i_retf_d16: i_retf_d16(); return;
case NecInstructionOpCode.i_retf: i_retf(); return;
case NecInstructionOpCode.i_int3: i_int3(); return;
case NecInstructionOpCode.i_int: i_int(); return;
case NecInstructionOpCode.i_into: i_into(); return;
case NecInstructionOpCode.i_iret: i_iret(); return;
case NecInstructionOpCode.i_rotshft_b: i_rotshft_b(); return;
case NecInstructionOpCode.i_rotshft_w: i_rotshft_w(); return;
case NecInstructionOpCode.i_rotshft_bcl: i_rotshft_bcl(); return;
case NecInstructionOpCode.i_rotshft_wcl: i_rotshft_wcl(); return;
case NecInstructionOpCode.i_aam: i_aam(); return;
case NecInstructionOpCode.i_aad: i_aad(); return;
case NecInstructionOpCode.i_setalc: i_setalc(); return;
case NecInstructionOpCode.i_trans: i_trans(); return;
case NecInstructionOpCode.i_fpo: i_fpo(); return;
case NecInstructionOpCode.i_loopne: i_loopne(); return;
case NecInstructionOpCode.i_loope: i_loope(); return;
case NecInstructionOpCode.i_loop: i_loop(); return;
case NecInstructionOpCode.i_jcxz: i_jcxz(); return;
case NecInstructionOpCode.i_inal: i_inal(); return;
case NecInstructionOpCode.i_inax: i_inax(); return;
case NecInstructionOpCode.i_outal: i_outal(); return;
case NecInstructionOpCode.i_outax: i_outax(); return;
case NecInstructionOpCode.i_call_d16: i_call_d16(); return;
case NecInstructionOpCode.i_jmp_d16: i_jmp_d16(); return;
case NecInstructionOpCode.i_jmp_far: i_jmp_far(); return;
case NecInstructionOpCode.i_jmp_d8: i_jmp_d8(); return;
case NecInstructionOpCode.i_inaldx: i_inaldx(); return;
case NecInstructionOpCode.i_inaxdx: i_inaxdx(); return;
case NecInstructionOpCode.i_outdxal: i_outdxal(); return;
case NecInstructionOpCode.i_outdxax: i_outdxax(); return;
case NecInstructionOpCode.i_lock: i_lock(); return;
case NecInstructionOpCode.i_repne: i_repne(); return;
case NecInstructionOpCode.i_repe: i_repe(); return;
case NecInstructionOpCode.i_hlt: i_hlt(); return;
case NecInstructionOpCode.i_cmc: i_cmc(); return;
case NecInstructionOpCode.i_f6pre: i_f6pre(); return;
case NecInstructionOpCode.i_f7pre: i_f7pre(); return;
case NecInstructionOpCode.i_clc: i_clc(); return;
case NecInstructionOpCode.i_stc: i_stc(); return;
case NecInstructionOpCode.i_di: i_di(); return;
case NecInstructionOpCode.i_ei: i_ei(); return;
case NecInstructionOpCode.i_cld: i_cld(); return;
case NecInstructionOpCode.i_std: i_std(); return;
case NecInstructionOpCode.i_fepre: i_fepre(); return;
case NecInstructionOpCode.i_ffpre: i_ffpre(); return;
}
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: f50a2c17a484f2942a22fca915892b5e

View File

@ -0,0 +1,520 @@
namespace cpu.nec
{
partial class Nec
{
/// <summary>
/// 自定义Nec指令集枚举
/// </summary>
public enum NecInstructionOpCode : byte
{
i_add_br8,
i_add_wr16,
i_add_r8b,
i_add_r16w,
i_add_ald8,
i_add_axd16,
i_push_es,
i_pop_es,
i_or_br8,
i_or_wr16,
i_or_r8b,
i_or_r16w,
i_or_ald8,
i_or_axd16,
i_push_cs,
i_pre_nec,
i_adc_br8,
i_adc_wr16,
i_adc_r8b,
i_adc_r16w,
i_adc_ald8,
i_adc_axd16,
i_push_ss,
i_pop_ss,
i_sbb_br8,
i_sbb_wr16,
i_sbb_r8b,
i_sbb_r16w,
i_sbb_ald8,
i_sbb_axd16,
i_push_ds,
i_pop_ds,
i_and_br8,
i_and_wr16,
i_and_r8b,
i_and_r16w,
i_and_ald8,
i_and_axd16,
i_es,
i_daa,
i_sub_br8,
i_sub_wr16,
i_sub_r8b,
i_sub_r16w,
i_sub_ald8,
i_sub_axd16,
i_cs,
i_das,
i_xor_br8,
i_xor_wr16,
i_xor_r8b,
i_xor_r16w,
i_xor_ald8,
i_xor_axd16,
i_ss,
i_aaa,
i_cmp_br8,
i_cmp_wr16,
i_cmp_r8b,
i_cmp_r16w,
i_cmp_ald8,
i_cmp_axd16,
i_ds,
i_aas,
i_inc_ax,
i_inc_cx,
i_inc_dx,
i_inc_bx,
i_inc_sp,
i_inc_bp,
i_inc_si,
i_inc_di,
i_dec_ax,
i_dec_cx,
i_dec_dx,
i_dec_bx,
i_dec_sp,
i_dec_bp,
i_dec_si,
i_dec_di,
i_push_ax,
i_push_cx,
i_push_dx,
i_push_bx,
i_push_sp,
i_push_bp,
i_push_si,
i_push_di,
i_pop_ax,
i_pop_cx,
i_pop_dx,
i_pop_bx,
i_pop_sp,
i_pop_bp,
i_pop_si,
i_pop_di,
i_pusha,
i_popa,
i_chkind,
i_brkn,
i_repnc,
i_repc,
i_invalid,
i_push_d16,
i_imul_d16,
i_push_d8,
i_imul_d8,
i_insb,
i_insw,
i_outsb,
i_outsw,
i_jo,
i_jno,
i_jc,
i_jnc,
i_jz,
i_jnz,
i_jce,
i_jnce,
i_js,
i_jns,
i_jp,
i_jnp,
i_jl,
i_jnl,
i_jle,
i_jnle,
i_80pre,
i_81pre,
i_82pre,
i_83pre,
i_test_br8,
i_test_wr16,
i_xchg_br8,
i_xchg_wr16,
i_mov_br8,
i_mov_wr16,
i_mov_r8b,
i_mov_r16w,
i_mov_wsreg,
i_lea,
i_mov_sregw,
i_popw,
i_nop,
i_xchg_axcx,
i_xchg_axdx,
i_xchg_axbx,
i_xchg_axsp,
i_xchg_axbp,
i_xchg_axsi,
i_xchg_axdi,
i_cbw,
i_cwd,
i_call_far,
i_wait,
i_pushf,
i_popf,
i_sahf,
i_lahf,
i_mov_aldisp,
i_mov_axdisp,
i_mov_dispal,
i_mov_dispax,
i_movsb,
i_movsw,
i_cmpsb,
i_cmpsw,
i_test_ald8,
i_test_axd16,
i_stosb,
i_stosw,
i_lodsb,
i_lodsw,
i_scasb,
i_scasw,
i_mov_ald8,
i_mov_cld8,
i_mov_dld8,
i_mov_bld8,
i_mov_ahd8,
i_mov_chd8,
i_mov_dhd8,
i_mov_bhd8,
i_mov_axd16,
i_mov_cxd16,
i_mov_dxd16,
i_mov_bxd16,
i_mov_spd16,
i_mov_bpd16,
i_mov_sid16,
i_mov_did16,
i_rotshft_bd8,
i_rotshft_wd8,
i_ret_d16,
i_ret,
i_les_dw,
i_lds_dw,
i_mov_bd8,
i_mov_wd16,
i_enter,
i_leave,
i_retf_d16,
i_retf,
i_int3,
i_int,
i_into,
i_iret,
i_rotshft_b,
i_rotshft_w,
i_rotshft_bcl,
i_rotshft_wcl,
i_aam,
i_aad,
i_setalc,
i_trans,
i_fpo,
i_loopne,
i_loope,
i_loop,
i_jcxz,
i_inal,
i_inax,
i_outal,
i_outax,
i_call_d16,
i_jmp_d16,
i_jmp_far,
i_jmp_d8,
i_inaldx,
i_inaxdx,
i_outdxal,
i_outdxax,
i_lock,
i_repne,
i_repe,
i_hlt,
i_cmc,
i_f6pre,
i_f7pre,
i_clc,
i_stc,
i_di,
i_ei,
i_cld,
i_std,
i_fepre,
i_ffpre
}
static readonly NecInstructionOpCode[] NecInstructionOpCodeArr = new NecInstructionOpCode[]
{
NecInstructionOpCode.i_add_br8,
NecInstructionOpCode.i_add_wr16,
NecInstructionOpCode.i_add_r8b,
NecInstructionOpCode.i_add_r16w,
NecInstructionOpCode.i_add_ald8,
NecInstructionOpCode.i_add_axd16,
NecInstructionOpCode.i_push_es,
NecInstructionOpCode.i_pop_es,
NecInstructionOpCode.i_or_br8,
NecInstructionOpCode.i_or_wr16,
NecInstructionOpCode.i_or_r8b,
NecInstructionOpCode.i_or_r16w,
NecInstructionOpCode.i_or_ald8,
NecInstructionOpCode.i_or_axd16,
NecInstructionOpCode.i_push_cs,
NecInstructionOpCode.i_pre_nec,
NecInstructionOpCode.i_adc_br8,
NecInstructionOpCode.i_adc_wr16,
NecInstructionOpCode.i_adc_r8b,
NecInstructionOpCode.i_adc_r16w,
NecInstructionOpCode.i_adc_ald8,
NecInstructionOpCode.i_adc_axd16,
NecInstructionOpCode.i_push_ss,
NecInstructionOpCode.i_pop_ss,
NecInstructionOpCode.i_sbb_br8,
NecInstructionOpCode.i_sbb_wr16,
NecInstructionOpCode.i_sbb_r8b,
NecInstructionOpCode.i_sbb_r16w,
NecInstructionOpCode.i_sbb_ald8,
NecInstructionOpCode.i_sbb_axd16,
NecInstructionOpCode.i_push_ds,
NecInstructionOpCode.i_pop_ds,
NecInstructionOpCode.i_and_br8,
NecInstructionOpCode.i_and_wr16,
NecInstructionOpCode.i_and_r8b,
NecInstructionOpCode.i_and_r16w,
NecInstructionOpCode.i_and_ald8,
NecInstructionOpCode.i_and_axd16,
NecInstructionOpCode.i_es,
NecInstructionOpCode.i_daa,
NecInstructionOpCode.i_sub_br8,
NecInstructionOpCode.i_sub_wr16,
NecInstructionOpCode.i_sub_r8b,
NecInstructionOpCode.i_sub_r16w,
NecInstructionOpCode.i_sub_ald8,
NecInstructionOpCode.i_sub_axd16,
NecInstructionOpCode.i_cs,
NecInstructionOpCode.i_das,
NecInstructionOpCode.i_xor_br8,
NecInstructionOpCode.i_xor_wr16,
NecInstructionOpCode.i_xor_r8b,
NecInstructionOpCode.i_xor_r16w,
NecInstructionOpCode.i_xor_ald8,
NecInstructionOpCode.i_xor_axd16,
NecInstructionOpCode.i_ss,
NecInstructionOpCode.i_aaa,
NecInstructionOpCode.i_cmp_br8,
NecInstructionOpCode.i_cmp_wr16,
NecInstructionOpCode.i_cmp_r8b,
NecInstructionOpCode.i_cmp_r16w,
NecInstructionOpCode.i_cmp_ald8,
NecInstructionOpCode.i_cmp_axd16,
NecInstructionOpCode.i_ds,
NecInstructionOpCode.i_aas,
NecInstructionOpCode.i_inc_ax,
NecInstructionOpCode.i_inc_cx,
NecInstructionOpCode.i_inc_dx,
NecInstructionOpCode.i_inc_bx,
NecInstructionOpCode.i_inc_sp,
NecInstructionOpCode.i_inc_bp,
NecInstructionOpCode.i_inc_si,
NecInstructionOpCode.i_inc_di,
NecInstructionOpCode.i_dec_ax,
NecInstructionOpCode.i_dec_cx,
NecInstructionOpCode.i_dec_dx,
NecInstructionOpCode.i_dec_bx,
NecInstructionOpCode.i_dec_sp,
NecInstructionOpCode.i_dec_bp,
NecInstructionOpCode.i_dec_si,
NecInstructionOpCode.i_dec_di,
NecInstructionOpCode.i_push_ax,
NecInstructionOpCode.i_push_cx,
NecInstructionOpCode.i_push_dx,
NecInstructionOpCode.i_push_bx,
NecInstructionOpCode.i_push_sp,
NecInstructionOpCode.i_push_bp,
NecInstructionOpCode.i_push_si,
NecInstructionOpCode.i_push_di,
NecInstructionOpCode.i_pop_ax,
NecInstructionOpCode.i_pop_cx,
NecInstructionOpCode.i_pop_dx,
NecInstructionOpCode.i_pop_bx,
NecInstructionOpCode.i_pop_sp,
NecInstructionOpCode.i_pop_bp,
NecInstructionOpCode.i_pop_si,
NecInstructionOpCode.i_pop_di,
NecInstructionOpCode.i_pusha,
NecInstructionOpCode.i_popa,
NecInstructionOpCode.i_chkind,
NecInstructionOpCode.i_brkn,
NecInstructionOpCode.i_repnc,
NecInstructionOpCode.i_repc,
NecInstructionOpCode.i_invalid,
NecInstructionOpCode.i_invalid,
NecInstructionOpCode.i_push_d16,
NecInstructionOpCode.i_imul_d16,
NecInstructionOpCode.i_push_d8,
NecInstructionOpCode.i_imul_d8,
NecInstructionOpCode.i_insb,
NecInstructionOpCode.i_insw,
NecInstructionOpCode.i_outsb,
NecInstructionOpCode.i_outsw,
NecInstructionOpCode.i_jo,
NecInstructionOpCode.i_jno,
NecInstructionOpCode.i_jc,
NecInstructionOpCode.i_jnc,
NecInstructionOpCode.i_jz,
NecInstructionOpCode.i_jnz,
NecInstructionOpCode.i_jce,
NecInstructionOpCode.i_jnce,
NecInstructionOpCode.i_js,
NecInstructionOpCode.i_jns,
NecInstructionOpCode.i_jp,
NecInstructionOpCode.i_jnp,
NecInstructionOpCode.i_jl,
NecInstructionOpCode.i_jnl,
NecInstructionOpCode.i_jle,
NecInstructionOpCode.i_jnle,
NecInstructionOpCode.i_80pre,
NecInstructionOpCode.i_81pre,
NecInstructionOpCode.i_82pre,
NecInstructionOpCode.i_83pre,
NecInstructionOpCode.i_test_br8,
NecInstructionOpCode.i_test_wr16,
NecInstructionOpCode.i_xchg_br8,
NecInstructionOpCode.i_xchg_wr16,
NecInstructionOpCode.i_mov_br8,
NecInstructionOpCode.i_mov_wr16,
NecInstructionOpCode.i_mov_r8b,
NecInstructionOpCode.i_mov_r16w,
NecInstructionOpCode.i_mov_wsreg,
NecInstructionOpCode.i_lea,
NecInstructionOpCode.i_mov_sregw,
NecInstructionOpCode.i_popw,
NecInstructionOpCode.i_nop,
NecInstructionOpCode.i_xchg_axcx,
NecInstructionOpCode.i_xchg_axdx,
NecInstructionOpCode.i_xchg_axbx,
NecInstructionOpCode.i_xchg_axsp,
NecInstructionOpCode.i_xchg_axbp,
NecInstructionOpCode.i_xchg_axsi,
NecInstructionOpCode.i_xchg_axdi,
NecInstructionOpCode.i_cbw,
NecInstructionOpCode.i_cwd,
NecInstructionOpCode.i_call_far,
NecInstructionOpCode.i_wait,
NecInstructionOpCode.i_pushf,
NecInstructionOpCode.i_popf,
NecInstructionOpCode.i_sahf,
NecInstructionOpCode.i_lahf,
NecInstructionOpCode.i_mov_aldisp,
NecInstructionOpCode.i_mov_axdisp,
NecInstructionOpCode.i_mov_dispal,
NecInstructionOpCode.i_mov_dispax,
NecInstructionOpCode.i_movsb,
NecInstructionOpCode.i_movsw,
NecInstructionOpCode.i_cmpsb,
NecInstructionOpCode.i_cmpsw,
NecInstructionOpCode.i_test_ald8,
NecInstructionOpCode.i_test_axd16,
NecInstructionOpCode.i_stosb,
NecInstructionOpCode.i_stosw,
NecInstructionOpCode.i_lodsb,
NecInstructionOpCode.i_lodsw,
NecInstructionOpCode.i_scasb,
NecInstructionOpCode.i_scasw,
NecInstructionOpCode.i_mov_ald8,
NecInstructionOpCode.i_mov_cld8,
NecInstructionOpCode.i_mov_dld8,
NecInstructionOpCode.i_mov_bld8,
NecInstructionOpCode.i_mov_ahd8,
NecInstructionOpCode.i_mov_chd8,
NecInstructionOpCode.i_mov_dhd8,
NecInstructionOpCode.i_mov_bhd8,
NecInstructionOpCode.i_mov_axd16,
NecInstructionOpCode.i_mov_cxd16,
NecInstructionOpCode.i_mov_dxd16,
NecInstructionOpCode.i_mov_bxd16,
NecInstructionOpCode.i_mov_spd16,
NecInstructionOpCode.i_mov_bpd16,
NecInstructionOpCode.i_mov_sid16,
NecInstructionOpCode.i_mov_did16,
NecInstructionOpCode.i_rotshft_bd8,
NecInstructionOpCode.i_rotshft_wd8,
NecInstructionOpCode.i_ret_d16,
NecInstructionOpCode.i_ret,
NecInstructionOpCode.i_les_dw,
NecInstructionOpCode.i_lds_dw,
NecInstructionOpCode.i_mov_bd8,
NecInstructionOpCode.i_mov_wd16,
NecInstructionOpCode.i_enter,
NecInstructionOpCode.i_leave,
NecInstructionOpCode.i_retf_d16,
NecInstructionOpCode.i_retf,
NecInstructionOpCode.i_int3,
NecInstructionOpCode.i_int,
NecInstructionOpCode.i_into,
NecInstructionOpCode.i_iret,
NecInstructionOpCode.i_rotshft_b,
NecInstructionOpCode.i_rotshft_w,
NecInstructionOpCode.i_rotshft_bcl,
NecInstructionOpCode.i_rotshft_wcl,
NecInstructionOpCode.i_aam,
NecInstructionOpCode.i_aad,
NecInstructionOpCode.i_setalc,
NecInstructionOpCode.i_trans,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_fpo,
NecInstructionOpCode.i_loopne,
NecInstructionOpCode.i_loope,
NecInstructionOpCode.i_loop,
NecInstructionOpCode.i_jcxz,
NecInstructionOpCode.i_inal,
NecInstructionOpCode.i_inax,
NecInstructionOpCode.i_outal,
NecInstructionOpCode.i_outax,
NecInstructionOpCode.i_call_d16,
NecInstructionOpCode.i_jmp_d16,
NecInstructionOpCode.i_jmp_far,
NecInstructionOpCode.i_jmp_d8,
NecInstructionOpCode.i_inaldx,
NecInstructionOpCode.i_inaxdx,
NecInstructionOpCode.i_outdxal,
NecInstructionOpCode.i_outdxax,
NecInstructionOpCode.i_lock,
NecInstructionOpCode.i_invalid,
NecInstructionOpCode.i_repne,
NecInstructionOpCode.i_repe,
NecInstructionOpCode.i_hlt,
NecInstructionOpCode.i_cmc,
NecInstructionOpCode.i_f6pre,
NecInstructionOpCode.i_f7pre,
NecInstructionOpCode.i_clc,
NecInstructionOpCode.i_stc,
NecInstructionOpCode.i_di,
NecInstructionOpCode.i_ei,
NecInstructionOpCode.i_cld,
NecInstructionOpCode.i_std,
NecInstructionOpCode.i_fepre,
NecInstructionOpCode.i_ffpre
};
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: f41d610c1d67cd745b61dcb36c8b7214