

def _translate_popf(self, tb, instruction):
    tmp0 = tb.temporal(self._sp.size)
    tmp1 = tb.temporal(self._sp.size)
    shl_one = tb.immediate((- 1), self._sp.size)
    shl_two = tb.immediate((- 2), self._sp.size)
    shl_three = tb.immediate((- 3), self._sp.size)
    tmp0 = tb.temporal(self._sp.size)
    tb.add(self._builder.gen_ldm(self._sp, tmp1))
    tb.add(self._builder.gen_add(self._sp, self._ws, tmp0))
    tb.add(self._builder.gen_str(tmp0, self._sp))
    tb.add(self._builder.gen_str(tmp1, self._flags['cf']))
    tb.add(self._builder.gen_bsh(tmp1, shl_two, tmp1))
    tb.add(self._builder.gen_str(tmp1, self._flags['pf']))
    tb.add(self._builder.gen_bsh(tmp1, shl_two, tmp1))
    tb.add(self._builder.gen_str(tmp1, self._flags['af']))
    tb.add(self._builder.gen_bsh(tmp1, shl_two, tmp1))
    tb.add(self._builder.gen_str(tmp1, self._flags['zf']))
    tb.add(self._builder.gen_bsh(tmp1, shl_one, tmp1))
    tb.add(self._builder.gen_str(tmp1, self._flags['sf']))
    tb.add(self._builder.gen_bsh(tmp1, shl_three, tmp1))
    tb.add(self._builder.gen_str(tmp1, self._flags['df']))
    tb.add(self._builder.gen_bsh(tmp1, shl_one, tmp1))
    tb.add(self._builder.gen_str(tmp1, self._flags['of']))

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