示例#1
0
文件: Program.cs 项目: SartMorgs/uPD
        // Inicialização da execução
        public static void StartSim()
        {
            controller = new ControlUnit();
            io         = new InOut();
            lifo       = new LIFO();
            ram        = new RAM();
            bco        = new RegisterBase();
            rom        = new ROM();
            ula        = new ULA();


            rom.SetProgram(binProgram);                                                 // Setando a ROM com o programa
            currentAddress     = 0;                                                     // Setando o endereço inicial
            currentInstruction = rom.GetInstruction(Convert.ToUInt32(currentAddress));  // Setando a instrução inicial

            // Zerando vetor de IN
            for (uint i = 0; i < 512; i++)
            {
                inValues[i] = 0;
            }

            // Limpando
            io.CleanInBox();
            io.CleanOutBox();
            ram.CleanDataMemory();
            bco.CleanRegisterBCO();
            bco.CleanRs();
            ula.CleanBox();

            // Zerando variáveis
            rs1      = 0;
            rs2      = 0;
            rdst     = 0;
            imed     = 0;
            inValue  = 0;
            outValue = 0;

            // Interrupções
            for (uint i = 0; i < 6; i++)
            {
                enableInt[i]        = false;
                addrInterruption[i] = 513;
            }

            // InOut
            inValues = io.GetInVector();
            inOrOut  = io.GetInOrOutVector();

            enableInterruption = false;
            interruption       = 0;
            interruptionQueue  = new Queue <uint>();
        }
示例#2
0
文件: Program.cs 项目: SartMorgs/uPD
        // Para de executar o programa
        public static void StopProgram()
        {
            currentInstruction = "XXXX";
            currentAddress     = 0;
            binProgram         = null;
            assemblyProgram    = null;
            fileName           = null;

            controller = null;
            io         = null;
            lifo       = null;
            ram        = null;
            bco        = null;
            rom        = null;
            translator = null;
            ula        = null;

            for (uint i = 0; i < 6; i++)
            {
                enableInt[i] = false;
            }

            error = "";
        }