Implemented some infrastructure for MPROMs
[Mograsim.git] / plugins / net.mograsim.machine / src / net / mograsim / machine / StandardMemoryDefinition.java
1 package net.mograsim.machine;
2
3 public class StandardMemoryDefinition implements MemoryDefinition
4 {
5         private final int memoryAddressBits;
6         private final long minimalAddress, maximalAddress;
7
8         public StandardMemoryDefinition(int memoryAddressBits, long minimalAddress, long maximalAddress)
9         {
10                 super();
11                 this.memoryAddressBits = memoryAddressBits;
12                 this.minimalAddress = minimalAddress;
13                 this.maximalAddress = maximalAddress;
14         }
15
16         public StandardMemoryDefinition(MainMemoryDefinition definition)
17         {
18                 this(definition.getMemoryAddressBits(), definition.getMinimalAddress(), definition.getMaximalAddress());
19         }
20
21         @Override
22         public int getMemoryAddressBits()
23         {
24                 return memoryAddressBits;
25         }
26
27         @Override
28         public long getMinimalAddress()
29         {
30                 return minimalAddress;
31         }
32
33         @Override
34         public long getMaximalAddress()
35         {
36                 return maximalAddress;
37         }
38
39         public static MemoryDefinition create(int memoryAddressBits, long minimalAddress, long maximalAddress)
40         {
41                 return new StandardMemoryDefinition(memoryAddressBits, minimalAddress, maximalAddress);
42         }
43 }