예제 #1
0
def return_var(var):
  if isinstance(var.reg, type(var.code.prgm.gp_return)):
    var.code.add(ppc.addi(var.code.prgm.gp_return, var, 0))
  elif isinstance(var.reg, type(var.code.prgm.fp_return)):
    var.code.add(ppc.fmrx(var.code.prgm.fp_return, var))
  else:
    raise Exception('Return not supported for %s registers' % (str(type(var.reg))))
  return
예제 #2
0
파일: util.py 프로젝트: unazed/corepy
def return_var(var):
    if isinstance(var.reg, type(var.code.prgm.gp_return)):
        var.code.add(ppc.addi(var.code.prgm.gp_return, var, 0))
    elif isinstance(var.reg, type(var.code.prgm.fp_return)):
        var.code.add(ppc.fmrx(var.code.prgm.fp_return, var))
    else:
        raise Exception('Return not supported for %s registers' %
                        (str(type(var.reg))))
    return
예제 #3
0
 def copy_register(self, other):
   return self.code.add(ppc.fmrx(self, other))