示例#1
0
        public static void KomandosPatikrinimas()      //Komandos skaitymas ir tikrinimas
        {
            var Zodziai = RMKomanda.Split(' ');

            if (Zodziai[0] == "STARTC")
            {
                VirtualiMasina.CMDRezimas();
            }
            else if (Zodziai[0] == "STARTV")     //STARTV paskutini kart neveike dar del kazko, bet kolkas nelabai reiks
            {
                FailoVardas = Zodziai[1];
                VirtualiMasina.VRezimas();
            }
            else
            {
                if (Zodziai.Length > 2)
                {
                    Console.WriteLine("Ivesta komanda:" + Zodziai[0]);
                    RealiMasina.IC++;
                    int numVal1 = Int32.Parse(Zodziai[0]);
                    int numVal2 = Int32.Parse(Zodziai[1]);
                    int numVal3 = Int32.Parse(Zodziai[2]);
                    Commands.a = numVal1;
                    Commands.Vykdom(numVal2, numVal3);
                }
                else
                {
                    Console.WriteLine("Įvesta per mažai argumentų");
                    RealiMasina.IC++;
                    RealiMasina.PI = 1;
                    RealiMasina.PertraukimuTikrinimas();
                }
            }
        }
示例#2
0
        public static void CMDRezimas()
        {
            RealiMasina.MODE = 1;                                                        //Keiciamas registras MODE
            Console.WriteLine("Pradedama virtuali masina CMD režimu");
            CMDKomanda = Console.ReadLine();
            var kint = CMDKomanda.Split(' ');

            while (kint[0] != "HALT")              //Cia visada veikia Virtuali masina iki HALT
            {
                if (kint.Length > 2)
                {
                    Console.WriteLine("Ivesta komanda:" + kint[0]);
                    RealiMasina.IC++;
                    int numVal1 = Int32.Parse(kint[0]);
                    int numVal2 = Int32.Parse(kint[1]);
                    int numVal3 = Int32.Parse(kint[2]);
                    Commands.a      = numVal1;
                    RealiMasina.IOI = 1;
                    RealiMasina.CH1 = 1;
                    Commands.Vykdom(numVal2, numVal3);
                    RealiMasina.CH1 = 0;
                    RealiMasina.IOI = 0;

                    RealiMasina.PertraukimuTikrinimas();
                    CMDKomanda = Console.ReadLine();
                    kint       = CMDKomanda.Split(' ');
                }
                else
                {
                    Console.WriteLine("Įvesta per mažai argumentų");
                    RealiMasina.IC++;
                    RealiMasina.PI = 1;
                    RealiMasina.PertraukimuTikrinimas();
                }
                if (RealiMasina.MODE == 0)
                {
                    kint[0] = "HALT";
                }
            }
            Console.WriteLine("Vistuali masina sustabdoma");
        }