public override EmulatorState Run(EmulatorState currentState)
            {
                EmulatorState newState = currentState.Clone();

                newState.IncrementInstructionCount();
                newState.IncrementCurrentIndex(1);
                return(newState);
            }
            public override EmulatorState Run(EmulatorState currentState)
            {
                EmulatorState newState = currentState.Clone();

                newState.IncrementInstructionCount();
                if (!newState.TerminateRun)
                {
                    newState.IncrementCurrentIndex(argument);
                }
                return(newState);
            }