public void ResumeProgram() { if (runState == runStateEnum.PAUSED) { runState = runStateEnum.RUNNING; ContinueProgram(); } }
public void ResetMemory() { memoryPointer = 0; memory = new long[initialMemory.Length]; Array.Copy(initialMemory, memory, initialMemory.Length); inputData = new List <long>(); outputData = new List <long>(); runState = runStateEnum.READY; relativeBase = 0; if (startPaused) { StartComputer(startPaused); } }
public void InitializeMemory(string inData) { // should be one line string[] splitVals = inData.Split(','); initialMemory = new long[splitVals.Length]; for (int intI = 0; intI < initialMemory.Length; intI++) { initialMemory[intI] = long.Parse(splitVals[intI]); } memory = new long[initialMemory.Length]; Array.Copy(initialMemory, memory, memory.Length); memoryPointer = 0; relativeBase = 0; runState = runStateEnum.READY; }
public void StartComputer(bool startPausedFlag) { startPaused = startPausedFlag; if (runState == runStateEnum.READY) { if (startPaused) { runState = runStateEnum.PAUSED; } else { runState = runStateEnum.RUNNING; } } ContinueProgram(); }
public void RestartProgram() { runState = runStateEnum.PAUSED; ResumeProgram(); }
public void PauseProgram() { runState = runStateEnum.PAUSED; }
public void StopProgram() { runState = runStateEnum.EXITED; }