本文整理汇总了C#中IState.Set方法的典型用法代码示例。如果您正苦于以下问题:C# IState.Set方法的具体用法?C# IState.Set怎么用?C# IState.Set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IState
的用法示例。
在下文中一共展示了IState.Set方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Apply
public override IState Apply(IState state)
{
var jumpTarget = A.Get(state);
var sp = (ushort)(state.Get(Register.SP) - 1);
var op = new Set(new Push(sp), new Reg(Register.PC));
return op.Apply(state.Set(Register.SP, sp)).Set(Register.PC, jumpTarget);
}
示例2: CpuLoop
public void CpuLoop()
{
while (IsRunning) {
IEvent e;
if (_pendingEvents.TryDequeue(out e)) {
State = State.Handle(e);
}
var pc = State.Get(Register.PC);
var sp = State.Get(Register.SP);
var origSp = sp;
var op = Dcpu.FetchNextInstruction(State, ref pc, ref sp);
State = State.Set(Register.PC, pc);
if (origSp != sp)
State = State.Set(Register.SP, sp);
State = op.Apply(State);
}
}
示例3: Set
public override IState Set(IState prev, ushort value)
{
return prev.Set(_addr, value);
}
示例4: Apply
public override IState Apply(IState state)
{
if (IsNextSkipped(A.Get(state), B.Get(state))) {
ushort pc = state.Get(Register.PC);
ushort sp = state.Get(Register.SP);
Dcpu.FetchNextInstruction(state, ref pc, ref sp);
return state.Set(Register.PC, pc);
}
return state;
}