From 739548d99f3450b5def909f98ad65faa3509699a Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Sat, 1 Sep 2018 10:19:06 +0200 Subject: Add opcodes --- components/caretaker.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'components/caretaker.py') 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) -- cgit v1.2.3