diff --git a/src/main/java/fabrik/simulator/pic16f84/Commands.java b/src/main/java/fabrik/simulator/pic16f84/Commands.java index 29a02f8..6d54acd 100644 --- a/src/main/java/fabrik/simulator/pic16f84/Commands.java +++ b/src/main/java/fabrik/simulator/pic16f84/Commands.java @@ -295,9 +295,9 @@ public class Commands { public static void RRF(int file, int destination) { int fcontent = DataRegister.getRegister(file); - int carry = DataRegister.getCarryFlag(); + int carry = DataRegister.getCarryFlag() << 7; int contentlow = fcontent & 0b1; - int result = fcontent >> 1 | carry; + int result = (fcontent >> 1) | carry; DataRegister.setCarryFlag(contentlow); if (destination == 0){ wRegister = result & 0xFF; diff --git a/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java b/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java index 186c949..773b447 100644 --- a/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java +++ b/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java @@ -74,16 +74,11 @@ public class Controller_Frontend { @FXML private Button autoRunGUI; - - - - - @FXML private void autoRunGUI(ActionEvent event) { Thread autoRunThread = new Thread(() -> { try { - while (DataRegister.getPC() < prog.length) { + while (DataRegister.getPC() < prog.length ) { Platform.runLater(() -> { try { @@ -92,7 +87,7 @@ public class Controller_Frontend { e.printStackTrace(); } }); - Thread.sleep(200); // Millisekunden + Thread.sleep(20); // Millisekunden } } catch (InterruptedException e) { e.printStackTrace();