
[NE] Bitfields for segment attributes:

     yyy d vv U R o p s m i M . D
       | |  | | | | | | | | | | |
       | |  | | | | | | | | | | 0 Data segment rather than code segment
       | |  | | | | | | | | | 1 unknown?
       | |  | | | | | | | | 2 real Mode
       | |  | | | | | | | 3 iterated
       | |  | | | | | | 4 movable
       | |  | | | | | 5 sharable
       | |  | | | | 6 preloaded rather than loaded demand
       | |  | | | 7 execute-only (code) or read-only (data)
       | |  | | 8 Relocations (directly following code for this segment)
       | |  | 9 debug info present
       | |  10-11 privilege 80286 DPL bits
       | 12 discardable
       13-15 discard priority

 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[LE/LX] Bitfields for object attributes:

 31-16 v f B a GT .Z i p s d O e w r
    |  | | | |  |  | | | | | | | | |
    |  | | | |  |  | | | | | | | | 0 readable
    |  | | | |  |  | | | | | | | 1 writeable 
    |  | | | |  |  | | | | | | 2 executable  
    |  | | | |  |  | | | | | 3 resource   
    |  | | | |  |  | | | | 4 discardable    
    |  | | | |  |  | | | 5 shared     
    |  | | | |  |  | | 6 preloaded     
    |  | | | |  |  | 7 invalid       
    |  | | | |  |  8-9 type, 00 normal or 01 Zero-filled                
    |  | | | |  10-11 resident, 10 resident and long-lockable        
    |  | | | |                  11 resident and contiguous        
    |  | | | 12 16:16 alias required           
    |  | | 13 "BIG" (Huge: 32-bit)            
    |  | 14 conforming             
    |  15 privilege "OBJECT_I/O_LEVEL"
    all in this range are reserved

 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[PE] Bitfield for sections attributes:

      Value      Description               State?

 . - 0x00000000  IMAGE_SCN_TYPE_REG        reserved 
 . - 0x00000001  IMAGE_SCN_TYPE_DSECT      reserved
 . - 0x00000002  IMAGE_SCN_TYPE_NOLOAD     reserved  
 . - 0x00000004  IMAGE_SCN_TYPE_GROUP      reserved
 . - 0x00000008  IMAGE_SCN_TYPE_NO_PAD     Section should not be padded to
     next boundary. This is obsolete and replaced by IMAGE_SCN_ALIGN_1BYTES
                    This is valid for object files only.  
  
 . - 0x00000010  IMAGE_SCN_TYPE_COPY       reserved
 c - 0x00000020  IMAGE_SCN_CNT_CODE        Section contains executable code.
 i - 0x00000040  IMAGE_SCN_CNT_INIT_DATA   Section contains initialized data.
 u - 0x00000080  IMAGE_SCN_CNT_UNINIT_DATA Section contains uninitialized data.
 
 . - 0x00000100  IMAGE_SCN_LNK_OTHER       reserved
 I - 0x00000200  IMAGE_SCN_LNK_INFO        Section contains comments or other
     information. The .drectve section has this type.
                  This is valid for object files only.
 . - 0x00000400  IMAGE_SCN_TYPE_OVER       reserved
 . - 0x00000800  IMAGE_SCN_LNK_REMOVE      Section will not become part of the
     image.       This is valid for object files only.

 . - 0x00001000  IMAGE_SCN_LNK_COMDAT      Section contains COMDAT data. 
                  This is valid for object files only.
 . - 0x00002000  IMAGE_SCN_MEM_??          
 . - 0x00004000  IMAGE_SCN_MEM_??          
 F - 0x00008000  IMAGE_SCN_MEM_FARDATA     reserved
 
 P - 0x00010000  IMAGE_SCN_MEM_PURGEABLE   reserved
 . - 0x00020000  IMAGE_SCN_MEM_16BIT       reserved
 l - 0x00040000  IMAGE_SCN_MEM_LOCKED      reserved
 p - 0x00080000  IMAGE_SCN_MEM_PRELOAD     reserved

 A - 0x00100000  IMAGE_SCN_ALIGN_1BYTES    Align data on a 1-byte boundary. 
 . - 0x00200000  IMAGE_SCN_ALIGN_2BYTES    Align data on a 2-byte boundary. 
 . - 0x00300000  IMAGE_SCN_ALIGN_4BYTES     
 . - 0x00400000  IMAGE_SCN_ALIGN_8BYTES     
 . - 0x00500000  IMAGE_SCN_ALIGN_16BYTES    
 . - 0x00600000  IMAGE_SCN_ALIGN_32BYTES    
 . - 0x00700000  IMAGE_SCN_ALIGN_64BYTES    
 . - 0x00800000  IMAGE_SCN_ALIGN_128BYTES   
 . - 0x00900000  IMAGE_SCN_ALIGN_256BYTES   
 . - 0x00A00000  IMAGE_SCN_ALIGN_512BYTES             
 . - 0x00B00000  IMAGE_SCN_ALIGN_1024BYTES  
 . - 0x00C00000  IMAGE_SCN_ALIGN_2048BYTES  
 . - 0x00D00000  IMAGE_SCN_ALIGN_4096BYTES                                     
 A - 0x00E00000  IMAGE_SCN_ALIGN_8192BYTES Align data on a 8192-byte boundary. 
                                           This is valid for object files only.
 
 X - 0x01000000  IMAGE_SCN_LNK_NRELOC_OVFL Section contains extended relocations.
 d - 0x02000000  IMAGE_SCN_MEM_DISCARDABLE Section can be discarded as needed.
 C - 0x04000000  IMAGE_SCN_MEM_NOT_CACHED  Section cannot be cached.
 P - 0x08000000  IMAGE_SCN_MEM_NOT_PAGED   Section is not pageable.
  
 s - 0x10000000  IMAGE_SCN_MEM_SHARED      Section can be shared in memory.
 e - 0x20000000  IMAGE_SCN_MEM_EXECUTE     Section can be executed as code.
 r - 0x40000000  IMAGE_SCN_MEM_READ        Section can be read.
 w - 0x80000000  IMAGE_SCN_MEM_WRITE       Section can be written to.


     IMAGE_SCN_LNK_NRELOC_OVFL indicates that the count of relocations for
     the section exceeds the 16 bits reserved for it in section header. 
     If the bit is set and the NumberOfRelocations field in the section header
     is 0xffff, the actual relocation count is stored in the 32-bit
     VirtualAddress field of the first relocation.

