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
{
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