예제 #1
0
파일: Cpu.cs 프로젝트: andy-uq/TinyOS
        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
파일: Cpu.cs 프로젝트: andy-uq/TinyOS
 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;
     }
 }