public void Execute(ComputerMachine machine) { long rhs = machine.GetValue(value); machine.SetValue(addr, rhs); machine.PC++; }
public void Execute(ComputerMachine machine) { long rhs = machine.GetValue(value); machine.sendCount++; machine.sendQueue.Add(rhs); machine.PC++; }
public void Execute(ComputerMachine machine) { long rhs = machine.GetValue(value); long lhs = machine.GetValue(addr); machine.SetValue(addr, rhs * lhs); machine.PC++; machine.mulCount++; }
public void Execute(ComputerMachine machine) { long cmpValue = machine.GetValue(cmp); if (cmpValue > 0) { long offsetValue = machine.GetValue(offset); machine.PC += (int)offsetValue; } else { machine.PC++; } }
public void Execute(ComputerMachine machine) { if (machine.recvQueue.Count != 0) { machine.SetValue(addr, machine.recvQueue[0]); machine.recvQueue.RemoveAt(0); machine.blocked = false; machine.PC++; } else { machine.blocked = true; } }