Exemple #1
0
        /// <summary>
        ///     Resets the CPU, and sets the Registers to the initial state.
        /// </summary>
        public void Reset()
        {
            CP15      = new Coprocessor15();
            Registers = new ARMRegisters();
            Registers.SetFlag(ARMFlag.FIQDisable, true);
            Registers.SetFlag(ARMFlag.IRQDisable, true);
            Registers.SetFlag(ARMFlag.AbortDisable, true);
            Registers.SetFlag(ARMFlag.Zero, true);
            Registers.Mode = ARMMode.Supervisor;
            Registers[15]  = HighVectors ? 0xffff0000 : 0;

            Opcode = 0;
            ReloadPipeline();
        }