code: def dump_flags(efl):
          
          if efl is None:
              return ''
          efl_dump = 'iopl=%1d' % ((efl & 0x3000) >> 12)
          if efl & 0x100000:
              efl_dump += ' vip'
          else:
              efl_dump += '    '
          if efl & 0x80000:
              efl_dump += ' vif'
          else:
              efl_dump += '    '
          # 0x20000 ???
          if efl & 0x800:
              efl_dump += ' ov'       # Overflow
          else:
              efl_dump += ' no'       # No overflow
          if efl & 0x400:
              efl_dump += ' dn'       # Downwards
          else:
              efl_dump += ' up'       # Upwards
          if efl & 0x200:
              efl_dump += ' ei'       # Enable interrupts
          else:
              efl_dump += ' di'       # Disable interrupts
          # 0x100 trap flag
          if efl & 0x80:
              efl_dump += ' ng'       # Negative
          else:
              efl_dump += ' pl'       # Positive
          if efl & 0x40:
              efl_dump += ' zr'       # Zero
          else:
              efl_dump += ' nz'       # Nonzero
          if efl & 0x10:
              efl_dump += ' ac'       # Auxiliary carry
          else:
              efl_dump += ' na'       # No auxiliary carry
          # 0x8 ???
          if efl & 0x4:
              efl_dump += ' pe'       # Parity odd
          else:
              efl_dump += ' po'       # Parity even
          # 0x2 ???
          if efl & 0x1:
              efl_dump += ' cy'       # Carry
          else:
              efl_dump += ' nc'       # No carry
          return efl_dump
docs: Dump the x86 processor flags.
          The output mimics that of the WinDBG debugger.
          Used by L{dump_registers}.
  
          @type  efl: int
          @param efl: Value of the eFlags register.
  
          @rtype:  str
          @return: Text suitable for logging.