Fixed single step to work again

This commit is contained in:
Niclas Finne 2013-08-13 14:18:00 +02:00
parent 5027760fd3
commit bebefd33d0
2 changed files with 9 additions and 12 deletions

View File

@ -146,7 +146,8 @@ public class MSP430 extends MSP430Core {
isStopping = isBreaking = false;
}
public long step() throws EmulationException {
/* Use stepInstructions or stepMicros instead */
@Deprecated public long step() throws EmulationException {
return stepMicros(1, 1);
}
@ -156,16 +157,18 @@ public class MSP430 extends MSP430Core {
}
setRunning(true);
try {
while (count-- > 0 && !isStopping) {
while (count > 0 && !isStopping) {
int pc = emulateOP(-1);
if (pc >= 0) {
count--;
if (execCounter != null) {
execCounter[pc]++;
}
if (trace != null) {
trace[tracePos++] = pc;
if (tracePos >= trace.length)
tracePos = 0;
if (tracePos >= trace.length) {
tracePos = 0;
}
}
// -------------------------------------------------------------------

View File

@ -41,9 +41,7 @@ import java.io.IOException;
import java.io.PrintStream;
import java.net.URISyntaxException;
import java.net.URL;
import javax.swing.JFrame;
import se.sics.mspsim.cli.CommandHandler;
import se.sics.mspsim.cli.DebugCommands;
import se.sics.mspsim.cli.FileCommands;
@ -54,7 +52,6 @@ import se.sics.mspsim.cli.StreamCommandHandler;
import se.sics.mspsim.cli.WindowCommands;
import se.sics.mspsim.core.Chip;
import se.sics.mspsim.core.EmulationException;
import se.sics.mspsim.core.EmulationLogger;
import se.sics.mspsim.core.MSP430;
import se.sics.mspsim.core.MSP430Config;
import se.sics.mspsim.core.MSP430Constants;
@ -67,7 +64,6 @@ import se.sics.mspsim.ui.WindowUtils;
import se.sics.mspsim.util.ArgumentManager;
import se.sics.mspsim.util.ComponentRegistry;
import se.sics.mspsim.util.ConfigManager;
import se.sics.mspsim.util.DefaultEmulationLogger;
import se.sics.mspsim.util.ELF;
import se.sics.mspsim.util.IHexReader;
import se.sics.mspsim.util.MapTable;
@ -276,11 +272,9 @@ public abstract class GenericNode extends Chip implements Runnable {
public void stop() {
cpu.stop();
}
public void step() throws EmulationException {
if (!cpu.isRunning()) {
cpu.step();
}
step(1);
}
// A step that will break out of breakpoints!