ActiveInstructionChangedListener moved to Machine and updated
[Mograsim.git] / plugins / net.mograsim.machine / src / net / mograsim / machine / Machine.java
index 6ff074d..8325068 100644 (file)
@@ -3,8 +3,9 @@ package net.mograsim.machine;
 import net.mograsim.logic.core.components.CoreClock;
 import net.mograsim.logic.core.timeline.Timeline;
 import net.mograsim.logic.core.types.BitVector;
-import net.mograsim.machine.mi.MicroInstructionMemory;
 import net.mograsim.logic.model.model.LogicModel;
+import net.mograsim.machine.mi.AssignableMicroInstructionMemory;
+import net.mograsim.machine.standard.memory.AssignableMainMemory;
 
 public interface Machine
 {
@@ -22,8 +23,18 @@ public interface Machine
 
        Timeline getTimeline();
 
-       MainMemory getMainMemory();
+       AssignableMainMemory getMainMemory();
 
-       MicroInstructionMemory getMicroInstructionMemory();
+       AssignableMicroInstructionMemory getMicroInstructionMemory();
 
-}
+       void addActiveMicroInstructionChangedListener(ActiveMicroInstructionChangedListener listener);
+
+       void removeActiveMicroInstructionChangedListener(ActiveMicroInstructionChangedListener listener);
+
+       long getActiveMicroInstructionAddress();
+
+       public interface ActiveMicroInstructionChangedListener
+       {
+               public void instructionChanged(long oldAddress, long newAddress);
+       }
+}
\ No newline at end of file