X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMemory.java;h=0ff9bb41fdcd80ab036ef26de56ba5d4e701623c;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=77c0d48bb44c048207aadc5ba4c8edd0566432ba;hpb=b32414f8406634aca730d724a011023c0da8bf22;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/Memory.java b/net.mograsim.machine/src/net/mograsim/machine/Memory.java index 77c0d48b..0ff9bb41 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/Memory.java +++ b/net.mograsim.machine/src/net/mograsim/machine/Memory.java @@ -9,27 +9,28 @@ public interface Memory * @throws IndexOutOfBoundsException */ public T getCell(long address); - + /** * Sets the data at the supplied address + * * @throws IndexOutOfBoundsException */ public void setCell(long address, T data); - + public default long size() { MemoryDefinition def = getDefinition(); return Long.max(0, def.getMaximalAddress() - def.getMinimalAddress() + 1); } - + /** * Registers an observer to be notified when a memory cell is modified */ public void registerObserver(MemoryObserver ob); - + public void deregisterObserver(MemoryObserver ob); - + public void notifyObservers(long address); - + public MemoryDefinition getDefinition(); }