Пример #1
0
        private void WriteTerminal()
        {
            BlockingProcess wakingProcess;

            while ((wakingProcess = DeviceWriteQueue.Dequeue(DeviceId.Terminal)) != null)
            {
                var process = wakingProcess.Process;
                (OutputMethod ?? Console.WriteLine)(wakingProcess.Argument);
                ReadyQueue.Enqueue(process);
            }
        }
Пример #2
0
 public void Output(DeviceId deviceId, uint value)
 {
     if (Enum.IsDefined(typeof(DeviceId), deviceId))
     {
         DeviceWriteQueue.Enqueue(deviceId, CurrentProcess, OpCodeFlag.None, value);
         CurrentProcess.Zf = false;
         CurrentProcess    = null;
     }
     else
     {
         CurrentProcess.Zf = true;
     }
 }