Merge branch 'fusebug' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019...
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / StandardMemoryDefinition.java
1 package net.mograsim.machine;
2
3 class StandardMemoryDefinition implements MemoryDefinition {
4         private final int memoryAddressBits;
5         private final long minimalAddress, maximalAddress;
6         
7         StandardMemoryDefinition(int memoryAddressBits, long minimalAddress, long maximalAddress)
8         {
9                 super();
10                 this.memoryAddressBits = memoryAddressBits;
11                 this.minimalAddress = minimalAddress;
12                 this.maximalAddress = maximalAddress;
13         }
14
15         public StandardMemoryDefinition(MainMemoryDefinition definition)
16         {
17                 this(definition.getMemoryAddressBits(), definition.getMinimalAddress(), definition.getMaximalAddress());
18         }
19
20         @Override
21         public int getMemoryAddressBits()
22         {
23                 return memoryAddressBits;
24         }
25
26         @Override
27         public long getMinimalAddress()
28         {
29                 return minimalAddress;
30         }
31
32         @Override
33         public long getMaximalAddress()
34         {
35                 return maximalAddress;
36         }
37         
38         public static MemoryDefinition create(int memoryAddressBits, long minimalAddress, long maximalAddress)
39         {
40                 return new StandardMemoryDefinition(memoryAddressBits, minimalAddress, maximalAddress);
41         }
42 }