diff options
Diffstat (limited to 'components/caretaker.py')
| -rw-r--r-- | components/caretaker.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/components/caretaker.py b/components/caretaker.py index f005b27..7f8cc33 100644 --- a/components/caretaker.py +++ b/components/caretaker.py @@ -9,7 +9,14 @@ class Caretaker: self.objects[reg]=0 self.objects["RAM"]=None - def __getitem__(self,key): # TODO: Allow MBRU key and adapt its return value + def __getitem__(self,key): + if key=="MBRU": # If we ask for unsigned + return(self.objects["MBR"] & 0x000000FF) + elif key=="MBR": # If we ask for signed + if self.objects["MBR"]>=0: + return(self["MBRU"]) + else: # Send 2 complement if it's lower than 0 + return(self.objects["MBR"] & 0xFFFFFFFF) return(self.objects[key]) def __setitem__(self,key,value):# TODO: Do special treatment for MBR (allow only 2^8 value) |
