aboutsummaryrefslogtreecommitdiff
path: root/components/caretaker.py
diff options
context:
space:
mode:
authorLoic GUEGAN <loic.guegan@yahoo.fr>2018-09-01 10:19:06 +0200
committerLoic GUEGAN <loic.guegan@yahoo.fr>2018-09-01 10:19:06 +0200
commit739548d99f3450b5def909f98ad65faa3509699a (patch)
treeb18b20260b5032327361e834ae3b5d53857c7e03 /components/caretaker.py
parent84de7cd481662167745131b95c78442a7ff45048 (diff)
Add opcodes
Diffstat (limited to 'components/caretaker.py')
-rw-r--r--components/caretaker.py9
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)