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