예제 #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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 def __init__(self, relativePositionToCompare,valueLiteral):
     self.relativePositionToCompare=relativePositionToCompare
     self.valueLiteral=valueLiteral
     InstCPU.__init__(self, "CMP")
예제 #6
0
파일: Assembly.py 프로젝트: Ramshell/soRepo
 def __init__(self, relativePositionToCompare, relativePositionToCompare2):
     self.relativePositionToCompare = relativePositionToCompare
     self.relativePositionToCompare2 = relativePositionToCompare2
     InstCPU.__init__(self, "CMP")
예제 #7
0
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 def __init__(self, relativePositionWhereToMove, literalValue):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.literalValue = literalValue
     InstCPU.__init__(self, "MulLiteral")
예제 #10
0
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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
파일: Assembly.py 프로젝트: Ramshell/soRepo
 def __init__(self, relativePositionWhereToMove, relativePositionFrom):
     self.relativePositionWhereToMove = relativePositionWhereToMove
     self.relativePositionFrom = relativePositionFrom
     InstCPU.__init__(self, "MUL")
예제 #22
0
파일: Assembly.py 프로젝트: Ramshell/soRepo
 def __init__(self, relativePositionWhereToMove):
     self.relativePositionWhereToMove=relativePositionWhereToMove
     InstCPU.__init__(self, "JMP")
예제 #23
0
파일: Assembly.py 프로젝트: Ramshell/soRepo
 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")