def _translate_call(self, tb, instruction):
        # Flags Affected
        # All flags are affected if a task switch occurs; no flags are
        # affected if a task switch does not occur.

        oprnd0 = tb.read(instruction.operands[0])

        addr_oprnd = self._translate_address(tb, oprnd0)

        imm1 = tb.immediate(1, 1)
        size = tb.immediate(instruction.size, self._sp.size)

        tmp0 = tb.temporal(self._sp.size)
        tmp1 = tb.temporal(self._sp.size)

        end_addr = ReilImmediateOperand((instruction.address - instruction.size), self._arch_info.address_size)

        tb.add(self._builder.gen_sub(self._sp, self._ws, tmp0))
        tb.add(self._builder.gen_str(tmp0, self._sp))
        tb.add(self._builder.gen_stm(end_addr, self._sp))
        tb.add(self._builder.gen_jcc(imm1, addr_oprnd))
dataset/ETHPy150Open programa-stic/barf-project/barf/barf/arch/x86/x86translator.py/X86Translator._translate_call/operator `+` -> `-`