本文整理汇总了C#中EngineWarrior类的典型用法代码示例。如果您正苦于以下问题:C# EngineWarrior类的具体用法?C# EngineWarrior怎么用?C# EngineWarrior使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
EngineWarrior类属于命名空间,在下文中一共展示了EngineWarrior类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: MOD_AB_AiAi
public void MOD_AB_AiAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueB;
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_direct;
bool reg_die = false;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_AA_Value = ValuesA[reg_AdrA];
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesA[reg_direct]);
reg_IR_ValueB = ValuesB[reg_AdrB];
if (reg_AA_Value == 0) reg_die = true;
else ValuesB[reg_AdrB] = reg_IR_ValueB % reg_AA_Value;
ip++;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:30,代码来源:Fngine01InstructionsMOD.cs
示例2: NOP_AB_AmAi
public void NOP_AB_AmAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
dec(ref ValuesA[reg_direct]);
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:9,代码来源:Fngine01InstructionsNOP.cs
示例3: JMP_AB_AiAi
public void JMP_AB_AiAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_AdrA;
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
ip = reg_AdrA;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:10,代码来源:Fngine01InstructionsJMP.cs
示例4: DAT_AB_AiAi
public void DAT_AB_AiAi(int ip, EngineWarrior warrior)
{
bool reg_die;
reg_die = true;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:15,代码来源:Fngine01InstructionsDAT.cs
示例5: MOV_AB_AiAi
public void MOV_AB_AiAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_AA_Value = ValuesA[reg_AdrA];
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesA[reg_direct]);
ValuesB[reg_AdrB] = reg_AA_Value;
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:17,代码来源:Fngine01InstructionsMOV.cs
示例6: SUB_AB_AiAm
public void SUB_AB_AiAm(int ip, EngineWarrior warrior)
{
int reg_IR_ValueB;
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_AA_Value = ValuesA[reg_AdrA];
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + dec(ref ValuesA[reg_direct]));
reg_IR_ValueB = ValuesB[reg_AdrB];
ValuesB[reg_AdrB] = reg_IR_ValueB - reg_AA_Value;
if (ValuesB[reg_AdrB] < 0) ValuesB[reg_AdrB] += coreSize;
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:20,代码来源:Fngine01InstructionsSUB.cs
示例7: SPL_AB_AiAi
public void SPL_AB_AiAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_AdrA;
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
if (warrior.LiveTasks + 1 < rules.MaxProcesses)
{
warrior.Tasks.Enqueue(mod(ip + 1));
ip = reg_AdrA;
Split(reg_AdrA);
}
else
{
ip++;
}
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:20,代码来源:Fngine01InstructionsSPL.cs
示例8: ADD_AB_AiBi
public void ADD_AB_AiBi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueB;
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_AA_Value = ValuesA[reg_AdrA];
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesB[reg_direct]);
reg_IR_ValueB = ValuesB[reg_AdrB];
ValuesB[reg_AdrB] = reg_IR_ValueB + reg_AA_Value;
if (ValuesB[reg_AdrB] >= coreSize) ValuesB[reg_AdrB] -= coreSize;
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:20,代码来源:Fngine01InstructionsADD.cs
示例9: LDP_AB_AiAi
public void LDP_AB_AiAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_direct;
int reg_psAddress;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_AA_Value = ValuesA[reg_AdrA];
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesA[reg_direct]);
reg_psAddress = Instruction.Mod(reg_AA_Value, rules.PSpaceSize);
ValuesB[reg_AdrB] = warrior.GetPSpaceValue(reg_psAddress);
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:20,代码来源:Fngine01InstructionsLDP.cs
示例10: DAT_AB_AiBm
public void DAT_AB_AiBm(int ip, EngineWarrior warrior)
{
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_direct;
bool reg_die;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_direct = mod(reg_IR_ValueCpyB + ip);
dec(ref ValuesB[reg_direct]);
reg_die = true;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:21,代码来源:Fngine01InstructionsDAT.cs
示例11: JMZ_AB_AiAi
public void JMZ_AB_AiAi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueB;
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_direct;
bool reg_jump;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesA[reg_direct]);
reg_IR_ValueB = ValuesB[reg_AdrB];
reg_jump = (reg_IR_ValueB == 0);
if (reg_jump)
ip = reg_AdrA;
else
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:22,代码来源:Fngine01InstructionsJMZ.cs
示例12: SNE_AB_AiAm
public void SNE_AB_AiAm(int ip, EngineWarrior warrior)
{
int reg_IR_ValueB;
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_direct;
bool reg_jump;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + ValuesA[reg_direct]);
reg_AA_Value = ValuesA[reg_AdrA];
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + dec(ref ValuesA[reg_direct]));
reg_IR_ValueB = ValuesB[reg_AdrB];
reg_jump = (reg_IR_ValueB != reg_AA_Value);
if (reg_jump)
ip += 2;
else
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:23,代码来源:Fngine01InstructionsSNE.cs
示例13: MOD_B_ImIm
public void MOD_B_ImIm(int ip, EngineWarrior warrior)
{
int reg_IR_ValueA;
int reg_IR_ValueB = ValuesB[ip];
int reg_AdrB;
bool reg_die = false;
reg_IR_ValueA = reg_IR_ValueB;
reg_AdrB = ip;
if (reg_IR_ValueA == 0) reg_die = true;
else ValuesB[reg_AdrB] = reg_IR_ValueB % reg_IR_ValueA;
ip++;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:22,代码来源:Fngine01InstructionsMOD.cs
示例14: MOD_B_ImBp
public void MOD_B_ImBp(int ip, EngineWarrior warrior)
{
int reg_IR_ValueA;
int reg_IR_ValueB = ValuesB[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrB;
int reg_direct;
bool reg_die = false;
reg_IR_ValueA = reg_IR_ValueB;
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesB[reg_direct]);
reg_IR_ValueB = ValuesB[reg_AdrB];
inc(ref ValuesB[reg_direct]);
if (reg_IR_ValueA == 0) reg_die = true;
else ValuesB[reg_AdrB] = reg_IR_ValueB % reg_IR_ValueA;
ip++;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:27,代码来源:Fngine01InstructionsMOD.cs
示例15: MOD_BA_DiIm
public void MOD_BA_DiIm(int ip, EngineWarrior warrior)
{
int reg_IR_ValueA;
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_AdrB;
int reg_AB_Value = ValuesA[ip];
int reg_direct;
bool reg_die = false;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_IR_ValueA = ValuesB[reg_direct];
reg_AdrB = ip;
if (reg_IR_ValueA == 0) reg_die = true;
else ValuesA[reg_AdrB] = reg_AB_Value % reg_IR_ValueA;
ip++;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:25,代码来源:Fngine01InstructionsMOD.cs
示例16: MOD_A_ImIm
public void MOD_A_ImIm(int ip, EngineWarrior warrior)
{
int reg_AdrB;
int reg_AA_Value = ValuesA[ip];
int reg_AB_Value = ValuesA[ip];
bool reg_die = false;
reg_AdrB = ip;
if (reg_AA_Value == 0) reg_die = true;
else ValuesA[reg_AdrB] = reg_AB_Value % reg_AA_Value;
ip++;
if (!reg_die)
{
warrior.Tasks.Enqueue(mod(ip));
}
else
{
warrior.DeadTasksCount++;
Died(ip);
}
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:21,代码来源:Fngine01InstructionsMOD.cs
示例17: EngineEvent
public EngineEvent(EngineInstruction executedInstruction, int cycles, int cyclesLeft, int ip, EngineWarrior warrior, StepResult prevStepResult)
{
ExecutedInstruction = executedInstruction;
Cycles = cycles;
CyclesLeft = cyclesLeft;
Ip = ip;
Warrior = warrior;
PrevStepResult = prevStepResult;
instructionsChanged = new Stack<EngineInstruction>();
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:10,代码来源:Engine09History.cs
示例18: SUB_I_ImDi
public void SUB_I_ImDi(int ip, EngineWarrior warrior)
{
int reg_IR_ValueA;
int reg_IR_ValueB = ValuesB[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrB;
int reg_AA_Value = ValuesA[ip];
int reg_AB_Value;
int reg_direct;
reg_IR_ValueA = reg_IR_ValueB;
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = reg_direct;
reg_AB_Value = ValuesA[reg_direct];
reg_IR_ValueB = ValuesB[reg_direct];
ValuesA[reg_AdrB] = reg_AB_Value - reg_AA_Value;
if (ValuesA[reg_AdrB] < 0) ValuesA[reg_AdrB] += coreSize;
ValuesB[reg_AdrB] = reg_IR_ValueB - reg_IR_ValueA;
if (ValuesB[reg_AdrB] < 0) ValuesB[reg_AdrB] += coreSize;
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:21,代码来源:Fngine01InstructionsSUB.cs
示例19: LDP_X_ImBp
public void LDP_X_ImBp(int ip, EngineWarrior warrior)
{
int reg_IR_ValueA;
int reg_IR_ValueB = ValuesB[ip];
int reg_IR_ValueCpyB = ValuesB[ip];
int reg_AdrB;
int reg_direct;
int reg_psAddress;
reg_IR_ValueA = reg_IR_ValueB;
reg_direct = mod(reg_IR_ValueCpyB + ip);
reg_AdrB = mod(reg_direct + ValuesB[reg_direct]);
inc(ref ValuesB[reg_direct]);
reg_psAddress = Instruction.Mod(reg_IR_ValueA, rules.PSpaceSize);
ValuesB[reg_AdrB] = warrior.GetPSpaceValue(reg_psAddress);
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:18,代码来源:Fngine01InstructionsLDP.cs
示例20: ADD_X_BmIm
public void ADD_X_BmIm(int ip, EngineWarrior warrior)
{
int reg_IR_ValueA;
int reg_IR_ValueB = ValuesB[ip];
int reg_IR_ValueCpyA = ValuesA[ip];
int reg_AdrA;
int reg_AdrB;
int reg_AA_Value;
int reg_AB_Value = ValuesA[ip];
int reg_direct;
reg_direct = mod(reg_IR_ValueCpyA + ip);
reg_AdrA = mod(reg_direct + dec(ref ValuesB[reg_direct]));
reg_AA_Value = ValuesA[reg_AdrA];
reg_IR_ValueA = ValuesB[reg_AdrA];
reg_AdrB = ip;
ValuesB[reg_AdrB] = reg_IR_ValueB + reg_AA_Value;
if (ValuesB[reg_AdrB] >= coreSize) ValuesB[reg_AdrB] -= coreSize;
ValuesA[reg_AdrB] = reg_AB_Value + reg_IR_ValueA;
if (ValuesA[reg_AdrB] >= coreSize) ValuesA[reg_AdrB] -= coreSize;
ip++;
warrior.Tasks.Enqueue(mod(ip));
}
开发者ID:pavelsavara,项目名称:nMars,代码行数:22,代码来源:Fngine01InstructionsADD.cs
注:本文中的EngineWarrior类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论