aboutsummaryrefslogtreecommitdiff
path: root/MicSim/components/caretaker.py
diff options
context:
space:
mode:
authorLoic GUEGAN <loic.guegan@yahoo.fr>2018-09-03 16:26:14 +0200
committerLoic GUEGAN <loic.guegan@yahoo.fr>2018-09-03 16:26:14 +0200
commit75d0268477b45f418fd122c441705933aca6938f (patch)
tree92502890d1bd32fc5419a7f60b4038d3398abc13 /MicSim/components/caretaker.py
parentb0b7c993d47beb4796298519c18c1fb43aa51d62 (diff)
Update gitignore, clean codeHEADmaster
Diffstat (limited to 'MicSim/components/caretaker.py')
-rw-r--r--MicSim/components/caretaker.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/MicSim/components/caretaker.py b/MicSim/components/caretaker.py
index cd6d913..e46c402 100644
--- a/MicSim/components/caretaker.py
+++ b/MicSim/components/caretaker.py
@@ -6,22 +6,20 @@ class Caretaker:
def __init__(self,ramSize):
self.objects=dict() # Create empty objects pool
- # Add registers to pool
+ ## Add registers to pool ##
for reg in ["MAR","MDR", "PC", "MBR", "SP","LV","CPP","TOS","OPC","H"]:
self.objects[reg]=0
- self.objects["RAM"]=Ram(self,ramSize)
+ self.objects["RAM"]=Ram(self,ramSize) # Create ram
def __getitem__(self,key):
if key=="MBRU": # If we ask for unsigned
return(abs(self.objects["MBR"]))
- elif key== "MBR":
- if self.objects[key] < 0:
+ elif key== "MBR": # If we ask for signed
+ if self.objects[key] < 0: # If its already signed
return(self.objects[key])
- elif self.objects[key]>>7==1: # If it a negative number (2 complement)
- #return(-(self.objects[key]&0x7F))
- return(-((self.objects[key]-1)^0xFF)) # Reverse 2 complements to get an unsign nummber (for python is better)
-
- else:
+ elif self.objects[key]>>7==1: # Otherwise compute its python version
+ return(-((self.objects[key]-1)^0xFF)) # Reverse 2 complements to get an unsigned number then negate it
+ else: # Otherwise it is positive
return(self.objects[key])
return(self.objects[key])