projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Setting a memory cell no longer causes an infinite loop
[Mograsim.git]
/
net.mograsim.machine
/
src
/
net
/
mograsim
/
machine
/
GenericMemory.java
diff --git
a/net.mograsim.machine/src/net/mograsim/machine/GenericMemory.java
b/net.mograsim.machine/src/net/mograsim/machine/GenericMemory.java
index
f01f9df
..
8052014
100644
(file)
--- a/
net.mograsim.machine/src/net/mograsim/machine/GenericMemory.java
+++ b/
net.mograsim.machine/src/net/mograsim/machine/GenericMemory.java
@@
-22,7
+22,7
@@
public abstract class GenericMemory<T> implements Memory<T>
this.maximalAddress = definition.getMaximalAddress();
this.pages = new HashMap<>();
}
this.maximalAddress = definition.getMaximalAddress();
this.pages = new HashMap<>();
}
-
+
private void inBoundsCheck(long address)
{
if (address < minimalAddress || address > maximalAddress)
private void inBoundsCheck(long address)
{
if (address < minimalAddress || address > maximalAddress)
@@
-34,12
+34,12
@@
public abstract class GenericMemory<T> implements Memory<T>
{
return address / pageSize;
}
{
return address / pageSize;
}
-
+
private int offset(long address)
{
return (int) (address % pageSize);
}
private int offset(long address)
{
return (int) (address % pageSize);
}
-
+
@Override
public void setCell(long address, T data)
{
@Override
public void setCell(long address, T data)
{
@@
-110,7
+110,7
@@
public abstract class GenericMemory<T> implements Memory<T>
{
observers.forEach(ob -> ob.update(address));
}
{
observers.forEach(ob -> ob.update(address));
}
-
+
@Override
public MemoryDefinition getDefinition()
{
@Override
public MemoryDefinition getDefinition()
{