def traceback_register(context, reg_spec): instructions, index, memory = context index = index - 1 while index >= 0: try: instruction = instructions[index] if reg_spec in instruction.get_modified_regs(): return instruction.get_result_value( (instructions, index, memory), reg_spec) index -= 1 except NotImplementedError: print instruction.mnemonic, 'is not supported yet' return values.UnknownValue(reg_spec) return values.UnknownValue(reg_spec)
def __init__(self): self.gp = [ values.UnknownValue(reg_name) for reg_name in self.REGISTERS ]
def read_memory(self, base, offset, size): return values.UnknownValue(None)
def read_register(self, reg_spec): self.read_places.add(reg_spec) return values.UnknownValue(None)