def _translate_adc(self, tb, instruction):
        # Flags Affected
        # The OF, SF, ZF, AF, CF, and PF flags are set according to the result.

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

        tmp0 = tb.temporal(oprnd1.size*2)
        tmp1 = tb.temporal(oprnd1.size*2)
        tmp2 = tb.temporal(oprnd1.size*2)

        tb.add(self._builder.gen_add(oprnd0, oprnd1, tmp0))
        tb.add(self._builder.gen_str(self._flags["cf"], tmp1))
        tb.add(self._builder.gen_add(tmp0, tmp1, tmp2))

        if self._translation_mode == FULL_TRANSLATION:
            # Flags : OF, SF, ZF, AF, CF, PF
            self._update_of(tb, oprnd0, oprnd1, tmp2)
            self._update_sf(tb, oprnd0, oprnd1, tmp2)
            self._update_zf(tb, oprnd0, oprnd1, tmp2)
            self._update_af(tb, oprnd0, oprnd1, tmp2)
            self._update_cf(tb, oprnd0, oprnd1, tmp2)
            self._update_pf(tb, oprnd0, oprnd1, tmp2)

        tb.write(instruction.operands[0], tmp2)
dataset/ETHPy150Open programa-stic/barf-project/barf/barf/arch/x86/x86translator.py/X86Translator._translate_adc/original