diff options
Diffstat (limited to 'MicSim/components/caretaker.py')
| -rw-r--r-- | MicSim/components/caretaker.py | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/MicSim/components/caretaker.py b/MicSim/components/caretaker.py index b43b3e3..cd6d913 100644 --- a/MicSim/components/caretaker.py +++ b/MicSim/components/caretaker.py @@ -28,17 +28,9 @@ class Caretaker: def __setitem__(self,key,value): if key!="RAM": if ((-(2**7-1))>value or value>(2**8)-1) and (key=="MBR" or key=="MBRU"): - raise RuntimeError("Value {} cannot fit in MBR register (-2^7 minimum value)".format(value)) - elif value>(2**32-1) and (key!="MBR" and key!="MBRU"): - raise RuntimeError("Value {} cannot fit in MBR register (2^32 minimum value)".format(value)) - -# if key!="RAM": -# if (value > (2**32) or value <(2**32)/2) and key!="MBR" and key!="MBRU": # Check value fit in word -# print("Warning word overflow: value {} on register {}".format(value,key)) -# value=value%(2**32) # Force to fit in word -# elif (value > (2**8) or value <126) and key=="MBR" or key=="MBRU": # Check value fit in byte -# print("Warning byte overflow: value {} on register {}".format(value,key)) -# value=abs(value)%256 # Force to fit in byte + raise RuntimeError("Value {} cannot fit in {} register (-(2^7-1) minimum value and (2^7-1) maximum value)".format(value,key)) + elif (-(2**31-1)>value or value>(2**32)-1) and (key!="MBR" and key!="MBRU"): + raise RuntimeError("Value {} cannot fit in {} register (2^32-1 maximum value)".format(value,key)) self.objects[key]=value def items(self): |
