def _translate_and(self, tb, instruction):
        # Flags Affected
        # The OF and CF flags are cleared; the SF, ZF, and PF flags are
        # set according to the result. The state of the AF flag is
        # undefined.

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

        tmp0 = tb.temporal(oprnd0.size*2)

        tb.add(self._builder.gen_and(oprnd0, oprnd1, tmp0))

        if self._translation_mode == FULL_TRANSLATION:
            # Flags : OF, CF
            self._clear_flag(tb, self._flags["of"])
            self._clear_flag(tb, self._flags["cf"])

            # Flags : SF, ZF, PF
            self._update_sf(tb, oprnd0, oprnd1, tmp0)
            self._update_zf(tb, oprnd0, oprnd1, tmp0)
            self._update_pf(tb, oprnd0, oprnd1, tmp0)

            # Flags : AF
            self._undefine_flag(tb, self._flags["af"])

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