

def _translate_address(self, tb, oprnd):
    addr_oprnd_size = (oprnd.size + 8)
    if isinstance(oprnd, ReilRegisterOperand):
        oprnd_tmp = tb.temporal(addr_oprnd_size)
        addr_oprnd = tb.temporal(addr_oprnd_size)
        imm = ReilImmediateOperand(8, addr_oprnd_size)
        tb.add(self._builder.gen_str(oprnd, oprnd_tmp))
        tb.add(self._builder.gen_bsh(oprnd_tmp, imm, addr_oprnd))
    elif isinstance(oprnd, ReilImmediateOperand):
        addr_oprnd = ReilImmediateOperand((oprnd.immediate << 8), addr_oprnd_size)
    return addr_oprnd

dataset/ETHPy150Open programa-stic/barf-project/barf/barf/arch/x86/x86translator.py X86Translator._translate_address/original