Esempio n. 1
0
            public void Execute(ComputerMachine machine)
            {
                long rhs = machine.GetValue(value);

                machine.SetValue(addr, rhs);
                machine.PC++;
            }
Esempio n. 2
0
            public void Execute(ComputerMachine machine)
            {
                long rhs = machine.GetValue(value);

                machine.sendCount++;
                machine.sendQueue.Add(rhs);

                machine.PC++;
            }
Esempio n. 3
0
            public void Execute(ComputerMachine machine)
            {
                long rhs = machine.GetValue(value);
                long lhs = machine.GetValue(addr);

                machine.SetValue(addr, rhs * lhs);
                machine.PC++;
                machine.mulCount++;
            }
Esempio n. 4
0
            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++;
                }
            }
Esempio n. 5
0
            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;
                }
            }