private void Step()
        {
            if (registerIR.Value == 0xE00D)
            {
                runTimer.Stop();
                System.Windows.Forms.MessageBox.Show("Program finished");
            }
            DeactivateCommands();
            if (IsIllegalinstruction())
            {
                runTimer.Stop();
                System.Windows.Forms.MessageBox.Show("Illegal instruction detected. Halting program");
            }

            RegisterMIR.LongValue = MPM[RegisterMAR.Value];
            ExecuteSBUSOperation(RegisterMIR.GetSBUS());
            ExecuteDBUSOperation(RegisterMIR.GetDBUS());
            ExecuteAluOperation(RegisterMIR.GetOPALU());
            ExecuteRBUSOperation(RegisterMIR.GetRBUS());
            ExecuteOTHEROperation(RegisterMIR.GetOTHER());
            ExecuteOPMEMOperation(RegisterMIR.GetOPMEM());
            ExecuteIndexOperation(RegisterMIR.GetCOND(), false, RegisterMIR.GetJUMPBASE(), RegisterMIR.GetINDEX());

            Invalidate();
        }
 private void InitializeSeqencer()
 {
     RegisterMIR.Init(RegisteredSBUSCommands,
                      RegisteredDBUSCommands,
                      RegisteredOPALUCommands,
                      RegisteredRBUSCommands,
                      RegisteredOTHERCommands,
                      RegisteredOPMEMCommands);
 }