Esempio n. 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)
Esempio n. 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
Esempio n. 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
Esempio n. 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)
Esempio n. 5
0
 def __init__(self, relativePositionToCompare,valueLiteral):
     self.relativePositionToCompare=relativePositionToCompare
     self.valueLiteral=valueLiteral
     InstCPU.__init__(self, "CMP")
Esempio n. 6
0
 def __init__(self, relativePositionToCompare, relativePositionToCompare2):
     self.relativePositionToCompare = relativePositionToCompare
     self.relativePositionToCompare2 = relativePositionToCompare2
     InstCPU.__init__(self, "CMP")
Esempio n. 7
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     pcb.pc = self.relativePositionWhereToMove
Esempio n. 8
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     pcb.pc = self.relativePositionWhereToMove
Esempio n. 9
0
 def __init__(self, relativePositionWhereToMove, literalValue):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.literalValue = literalValue
     InstCPU.__init__(self, "MulLiteral")
Esempio n. 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) 
Esempio n. 11
0
 def run(self,pcb,memory,mmu):
     InstCPU.run(self,pcb,memory,mmu)
     if not pcb.getFlagS():
         pcb.pc = pcb.pc+self.displacement
Esempio n. 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)
Esempio n. 13
0
 def run(self, pcb, memory, mmu):
     InstCPU.run(self, pcb, memory, mmu)
     if not pcb.getFlagS():
         pcb.pc = pcb.pc + self.displacement
Esempio n. 14
0
 def __init__(self, displacement):
     self.displacement = displacement
     InstCPU.__init__(self, "JNL")
Esempio n. 15
0
 def __init__(self, relativePositionToCompare, valueLiteral):
     self.relativePositionToCompare = relativePositionToCompare
     self.valueLiteral = valueLiteral
     InstCPU.__init__(self, "CMP")
Esempio n. 16
0
 def __init__(self, relativePositionToCompare, relativePositionToCompare2):
     self.relativePositionToCompare = relativePositionToCompare
     self.relativePositionToCompare2 = relativePositionToCompare2
     InstCPU.__init__(self, "CMP")
Esempio n. 17
0
 def __init__(self, displacement):
     self.displacement=displacement
     InstCPU.__init__(self, "JNL")
Esempio n. 18
0
 def __init__(self, relativePositionWhereToMove, relativePositionFrom):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.relativePositionFrom = relativePositionFrom
     InstCPU.__init__(self, "MUL")
Esempio n. 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)
Esempio n. 20
0
 def __init__(self, relativePositionWhereToMove, literalValue):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.literalValue = literalValue
     InstCPU.__init__(self, "AddLiteral")
Esempio n. 21
0
 def __init__(self, relativePositionWhereToMove, relativePositionFrom):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.relativePositionFrom = relativePositionFrom
     InstCPU.__init__(self, "MUL")
Esempio n. 22
0
 def __init__(self, relativePositionWhereToMove):
     self.relativePositionWhereToMove=relativePositionWhereToMove
     InstCPU.__init__(self, "JMP")
Esempio n. 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)
Esempio n. 24
0
 def __init__(self, relativePositionWhereToMove):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     InstCPU.__init__(self, "JMP")