Exemple #1
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     value = memory.getDir(
         self.absoluteDataPosition(pcb, mmu, self.relativePositionFrom))
     memory.putDir(
         self.absoluteDataPosition(pcb, mmu,
                                   self.relativePositionWhereToMove), value)
Exemple #2
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     valueToCompare = memory.getDir(self.absoluteDataPosition(pcb, mmu,self.relativePositionToCompare))
     res = valueToCompare - self.valueLiteral
     if(res == 0):
         pcb.flagZ = True
     if(res < 0):
         pcb.flagS = True
Exemple #3
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     valueToCompare = memory.getDir(
         self.absoluteDataPosition(pcb, mmu,
                                   self.relativePositionToCompare))
     res = valueToCompare - self.valueLiteral
     if (res == 0):
         pcb.flagZ = True
     if (res < 0):
         pcb.flagS = True
Exemple #4
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     valueToSum = self.literalValue
     anotherValueToSum = memory.getDir(
         self.absoluteDataPosition(pcb, mmu,
                                   self.relativePositionWhereToMove))
     memory.putDir(
         self.absoluteDataPosition(pcb, mmu,
                                   self.relativePositionWhereToMove),
         valueToSum + anotherValueToSum)
Exemple #5
0
 def __init__(self, relativePositionToCompare,valueLiteral):
     self.relativePositionToCompare=relativePositionToCompare
     self.valueLiteral=valueLiteral
     InstCPU.__init__(self, "CMP")
Exemple #6
0
 def __init__(self, relativePositionToCompare, relativePositionToCompare2):
     self.relativePositionToCompare = relativePositionToCompare
     self.relativePositionToCompare2 = relativePositionToCompare2
     InstCPU.__init__(self, "CMP")
Exemple #7
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     pcb.pc = self.relativePositionWhereToMove
Exemple #8
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     pcb.pc = self.relativePositionWhereToMove
Exemple #9
0
 def __init__(self, relativePositionWhereToMove, literalValue):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.literalValue = literalValue
     InstCPU.__init__(self, "MulLiteral")
Exemple #10
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     valueToSum = memory.getDir(self.absoluteDataPosition(pcb, mmu,self.relativePositionFrom))
     anotherValueToSum = memory.getDir(self.absoluteDataPosition(pcb, mmu,self.relativePositionWhereToMove))
     memory.putDir(self.absoluteDataPosition(pcb, mmu,self.relativePositionWhereToMove), valueToSum+anotherValueToSum) 
Exemple #11
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     if not pcb.getFlagS():
         pcb.pc = pcb.pc+self.displacement
Exemple #12
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     value = self.literalValue
     memory.putDir(
         self.absoluteDataPosition(pcb, mmu,
                                   self.relativePositionWhereToMove), value)
Exemple #13
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     if not pcb.getFlagS():
         pcb.pc = pcb.pc + self.displacement
Exemple #14
0
 def __init__(self, displacement):
     self.displacement = displacement
     InstCPU.__init__(self, "JNL")
Exemple #15
0
 def __init__(self, relativePositionToCompare, valueLiteral):
     self.relativePositionToCompare = relativePositionToCompare
     self.valueLiteral = valueLiteral
     InstCPU.__init__(self, "CMP")
Exemple #16
0
 def __init__(self, relativePositionToCompare, relativePositionToCompare2):
     self.relativePositionToCompare = relativePositionToCompare
     self.relativePositionToCompare2 = relativePositionToCompare2
     InstCPU.__init__(self, "CMP")
Exemple #17
0
 def __init__(self, displacement):
     self.displacement=displacement
     InstCPU.__init__(self, "JNL")
Exemple #18
0
 def __init__(self, relativePositionWhereToMove, relativePositionFrom):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.relativePositionFrom = relativePositionFrom
     InstCPU.__init__(self, "MUL")
Exemple #19
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     value = self.literalValue
     memory.putDir(self.absoluteDataPosition(pcb, mmu, self.relativePositionWhereToMove), value)
Exemple #20
0
 def __init__(self, relativePositionWhereToMove, literalValue):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.literalValue = literalValue
     InstCPU.__init__(self, "AddLiteral")
Exemple #21
0
 def __init__(self, relativePositionWhereToMove, relativePositionFrom):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.relativePositionFrom = relativePositionFrom
     InstCPU.__init__(self, "MUL")
Exemple #22
0
 def __init__(self, relativePositionWhereToMove):
     self.relativePositionWhereToMove=relativePositionWhereToMove
     InstCPU.__init__(self, "JMP")
Exemple #23
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     valueToMul = self.literalValue
     anotherValueToMul = memory.getDir(self.absoluteDataPosition(pcb, mmu,self.relativePositionWhereToMove))
     memory.putDir(self.absoluteDataPosition(pcb, mmu,self.relativePositionWhereToMove), valueToMul*anotherValueToMul)
Exemple #24
0
 def __init__(self, relativePositionWhereToMove):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     InstCPU.__init__(self, "JMP")