Ejemplo n.º 1
0
        public void EjecutarInstruccion()
        {
            if (iMem == null)
            {
                throw new ProgramaNoCargadoException();
            }

            CPU.ResultadoEjecucion result = cpu.EjecutarInstruccion();

            if (ResultadoInstruccionEvent != null)
            {
                ResultadoInstruccionEvent(result);
            }
        }
Ejemplo n.º 2
0
        internal void SincronizarEstadoMaquina(CPU.ResultadoEjecucion result)
        {
            int i = result.Info;

            if (result.TipoAcceso == CPU.TipoOperacionAcceso.MEMORIA_CAMBIADA)
            {
                ActualizarMemoriaDatos(i);
            }

            statusCPU = result.Status;
            ActualizarRegistros();

            if (statusCPU == CPU.EjecucionStatus.HALT)
            {
                toggleMenu();
            }
        }