当前位置: 首页>>代码示例>>Python>>正文


Python Memory.set_pointer_value方法代码示例

本文整理汇总了Python中memory.Memory.set_pointer_value方法的典型用法代码示例。如果您正苦于以下问题:Python Memory.set_pointer_value方法的具体用法?Python Memory.set_pointer_value怎么用?Python Memory.set_pointer_value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在memory.Memory的用法示例。


在下文中一共展示了Memory.set_pointer_value方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from memory import Memory [as 别名]
# 或者: from memory.Memory import set_pointer_value [as 别名]

#.........这里部分代码省略.........
                return self.get_local_value(address)
            elif address >= MemoryMap.TEMP_INT_BASE and address < MemoryMap.POINTER_BASE:
                return self.get_temp_value(address)
            elif address >= MemoryMap.INT_CONSTANT_BASE and address < MemoryMap.INT_BASE:
                return self.get_constant_value(address)
            elif address >= MemoryMap.POINTER_BASE:
                return self.get_pointer_value(address)
            elif address == MemoryMap.FALSE_CONSTANT:
                return False
            elif address == MemoryMap.TRUE_CONSTANT:
                return True
            else:
                print('Error de ejecucion: Direccion virtual desconocida')
                exit(1)
                return None
        else:
            return self.get_param_value(address)

    # La función set_value recibe una dirección y un valor. A partir de esta dirección, se
    # decide si es una variable global, local, temporal o constante y de aquí llama
    # a su método correspondiente. Si la dirección es de una variable constante, marca
    # error por dirección invalida
    def set_value(self, address, value):
        if address >= MemoryMap.INT_BASE and address < MemoryMap.LOCAL_INT_BASE:
            return self.set_global_value(address, value)
        elif address >= MemoryMap.LOCAL_INT_BASE and address < MemoryMap.TEMP_INT_BASE:
            return self.set_local_value(address, value)
        elif address >= MemoryMap.TEMP_INT_BASE and address < MemoryMap.POINTER_BASE:
            return self.set_temp_value(address, value)
        elif address >= MemoryMap.INT_CONSTANT_BASE and address < MemoryMap.INT_BASE:
            print('Error de ejecucion: Direccion virtual no valida')
            return None
        elif address >= MemoryMap.POINTER_BASE:
                return self.set_pointer_value(address, value)
        elif address == MemoryMap.FALSE_CONSTANT:
            print('Error de ejecucion: Direccion virtual no valida')
            return None
        elif address == MemoryMap.TRUE_CONSTANT:
            print('Error de ejecucion: Direccion virtual no valida')
            return None
        else:
            print('Error de ejecucion: Direccion virtual no valida')
            return None

    # La función get_global_value recibe una dirección. Con esta dirección se checa
    # si es una dirección de una variable entera, flotante, string o booleana,
    # y se procede a pedir el valor a la memoria global con ese tipo
    def get_global_value(self, address):
        if address >= MemoryMap.INT_BASE and address < MemoryMap.FLOAT_BASE:
            return self.global_memory.get_int_value(address)
        elif address >= MemoryMap.FLOAT_BASE and address < MemoryMap.STRING_BASE:
            return self.global_memory.get_float_value(address)
        elif address >= MemoryMap.STRING_BASE and address < MemoryMap.BOOL_BASE:
            return self.global_memory.get_string_value(address)
        elif address >= MemoryMap.BOOL_BASE and address < MemoryMap.LOCAL_INT_BASE:
            return self.global_memory.get_bool_value(address)
        else:
            print('Error de ejecucion: Direccion virtual global desconocida')
            return None

    # La función get_local_value recibe una dirección. Con esta dirección se checa
    # si es una dirección de una variable entera, flotante, string o booleana,
    # y se procede a pedir el valor a la memoria local con ese tipo
    def get_local_value(self, address):
        if address >= MemoryMap.LOCAL_INT_BASE and address < MemoryMap.LOCAL_FLOAT_BASE:
            return self.get_local_memory().get_int_value(address)
开发者ID:maumruiz,项目名称:Tortuga,代码行数:70,代码来源:memory_map.py


注:本文中的memory.Memory.set_pointer_value方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。