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
/
standard
/
memory
/
CoreWordAddressableMemory.java
diff --git
a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/CoreWordAddressableMemory.java
b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/CoreWordAddressableMemory.java
index
6dc5da2
..
dcbd25e
100644
(file)
--- a/
net.mograsim.machine/src/net/mograsim/machine/standard/memory/CoreWordAddressableMemory.java
+++ b/
net.mograsim.machine/src/net/mograsim/machine/standard/memory/CoreWordAddressableMemory.java
@@
-69,15
+69,15
@@
public class CoreWordAddressableMemory extends BasicCoreComponent
{
BitVector storedData = memory.getCell(addressed);
return e -> data.feedSignals(storedData);
{
BitVector storedData = memory.getCell(addressed);
return e -> data.feedSignals(storedData);
- } else
- {
- BitVector transData = data.getValues();
- return e ->
- {
- data.clearSignals();
- memory.setCell(addressed, transData);
- };
}
}
+ BitVector transData = data.getValues();
+ if (transData.equals(memory.getCell(addressed)))
+ return null;
+ return e ->
+ {
+ data.clearSignals();
+ memory.setCell(addressed, transData);
+ };
}
@Override
}
@Override