{"id":1151,"date":"2023-12-30T20:43:05","date_gmt":"2023-12-31T01:43:05","guid":{"rendered":"https:\/\/www.ecsdump.net\/?page_id=1151"},"modified":"2023-12-30T20:43:50","modified_gmt":"2023-12-31T01:43:50","slug":"linear-executable-file-header-layout","status":"publish","type":"page","link":"https:\/\/www.ecsdump.net\/?page_id=1151","title":{"rendered":"LINEAR-EXECUTABLE File Header Layout"},"content":{"rendered":"\n<pre class=\"wp-block-preformatted\">   An virtual device drivers or some other applications for Microsoft\n Windows or IBM OS\/2 operating system which uses 32-bits segments\n for 80386+ contains a combination of code and data or combination of\n code,data, and resources. The `LINEAR-EXECUTABLE` file such as a NEW-STYLE\n EXE file also contains two headers: an ^Tp236 {MS-<a href=\"https:\/\/en.wikipedia.org\/wiki\/Disk_operating_system\" data-internallinksmanager029f6b8e52c=\"2\" title=\"DOS\" target=\"_blank\" rel=\"noopener\">DOS<\/a> header} and a `LINEAR` EXE header.\n  The ^Tp236 {MS-DOS (old-style) executable-file header} contains four distinct parts:\n a collection of header information,a reserved section, a pointer to a\n `LINEAR` exe header, and a stub program. The following illustrations shows\n the MS-DOS executable-file header:\n\n                                    `Beginning of file`\n\n                              \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n   Offset:             00h    \u2551          MS-DOS Header Info        \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                       20h    \u2551              Reserved              \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                       3Ch    \u2551           LE header offset         \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                       40h    \u2551                                    \u2551\n                              \u2551          MS-DOS stub program       \u2551\n                              \u2551                                    \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n     Beginning of `LE` header \u2551                                    \u2551\n                              \u2551      .                             \u2551\n                              \u2551      .                             \u2551\n                              \u2551      .                             \u2551\n                              \u2551                                    \u2551\n\n     If word value at offset 18h is 40h or greater, the dword value at 3Ch\n is an offset to a `LE` header\n\n     MS-DOS uses stub program to display a message if Windows or OS\/2 has\n not been loaded when the user attempts to run a program.\n\n     The `LINEAR` executable-file header contains information that the\n loader requires for segmented executable files. This information includes\n the linker version number, data specified by linker, data specified by\n resource compiler, tables of segment data, tables of resource data, and\n so on. The following illustrations shows the LE file header:\n\n                              \u2551                                    \u2551\n                              \u2551   .                                \u2551\n                              \u2551   .                                \u2551\n                              \u2551   .                                \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551                                    \u2551\n         End of MS-DOS header \u2551         MS-DOS stub program        \u2551\n                              \u2551                                    \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n   Beginning of `LE` header   \u2551         Information block          \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551           Object table             \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551       Object page map table        \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551    Object iterate data map table   \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551          Resource table            \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551       Resident-names table         \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551           Entry  table             \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551      Module directives table       \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551          Fixup page table          \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551         Fixup record table         \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551     Imported modules name table    \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551   Imported procedures name table   \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551       Per-page checksum table      \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n    Code and data segments    \u2551                                    \u2551\n                              \u2551    Code or Data Segment 1          \u2551\n                              \u2551                                    \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551                                    \u2551\n                              \u2551    Code or Data Segment 2          \u2551\n                              \u2551                                    \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551                                    \u2551\n                              \u2551      .                             \u2551\n                              \u2551      .                             \u2551\n                              \u2551      .                             \u2551\n                              \u2551                                    \u2551\n                              \u2551                                    \u2551\n                              \u2551                                    \u2551\n                              \u2551    Code or Data Segment n          \u2551\n                              \u2551                                    \u2551\n                              \u255f\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2562\n                              \u2551                                    \u2551\n                              \u2551        Non-resident table          \u2551\n                              \u2551                                    \u2551\n                              \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n\n                               `End of file`\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also :           MS-DOS old-style ^Tp236 {EXE File Header}\n|============================================================================\n\n                     \u258c`LE Header Information Block Layout`\n                     \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `information block` in the LE header contains the linker\n version number, length of various tables that further describe the executable\n file, the offsets from the beginning of the header to the beginnig of these\n tables, the heap and stack sizes, and so on. The following list summarizes\n the contents of the header `information block` ( the locations are relative\n to the beginning of the block):\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n +0      2  \u25024Ch 45H\u2502 Specifies the signature word 'LE'\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2518\n +2      1  \u2502   \u2502     Byte order:(00h = little-endian, nonzero = big-endian)\n            \u251c\u2500\u2500\u2500\u2524\n +3      1  \u2502   \u2502     Word order:(00h = little-endian, nonzero = big-endian)\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510\n +4      4  \u2502Exe format lev \u2502 Executable format level\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518\n +8      2  \u2502CPU typ\u2502 CPU type:\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518   01h - Intel 80286 or upwardly compatible\n                        02h - Intel 80386 or upwardly compatible\n                        03h - Intel 80486 or upwardly compatible\n                        04h - Intel 80586 or upwardly compatible\n                        20h - Intel i860 (N10) or compatible\n                        21h - Intel \"N11\" or compatible\n                        40h - MIPS Mark I ( R2000, R3000) or compatible\n                        41h - MIPS Mark II ( R6000 ) or compatible\n                        42h - MIPS Mark III ( R4000 ) or compatible\n            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n +0Ah    2  \u2502OS Type\u2502 Target operating system:\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518   01h - OS\/2\n                        02h - Windows\n                        03h - DOS 4.x\n                        04h - Windows 386\n            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510\n +0Ch    4  \u2502Module version \u2502 Module version.\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2524\n +10h    4  \u2502Module Type Flg\u2502 Module type flags\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +14h    4  \u2502 Memory Pages  \u2502 Number of memory pages\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +18h    4  \u2502Init CS object \u2502 Initial object CS number\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +1Ch    4  \u2502 Init Offset   \u2502 Initial EIP\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +20h    4  \u2502Init SS object \u2502 Initial object SS number\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +24h    4  \u2502 Init ESP Offs \u2502 Initial ESP\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +28h    4  \u2502Mem Page size  \u2502 Memory page size\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +2Ch    4  \u2502 Last page Byts\u2502 Bytes on last page\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +30h    4  \u2502 Fixup size    \u2502 Fixup section size\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +34h    4  \u2502 Fixup checksum\u2502 Fixup section checksum\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +38h    4  \u2502Loader sect siz\u2502 Loader section size\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +3Ch    4  \u2502Loader checksum\u2502 Loader section checksum\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +40h    4  \u2502Object table of\u2502 Offset of object table\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +44h    4  \u2502Obj table entr \u2502 Object table entries\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +48h    4  \u2502Obj page map   \u2502 Object page map offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +4Ch    4  \u2502Obj iter dat mp\u2502 Object iterate data map offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +50h    4  \u2502Resource offset\u2502 Resource table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +54h    4  \u2502Resource entr  \u2502 Resource  table entries\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +58h    4  \u2502Resident name  \u2502 Resident names table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +5Ch    4  \u2502Entry table ofs\u2502 Entry table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +60h    4  \u2502Module direct  \u2502 Module directives table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +64h    4  \u2502Module dir entr\u2502 Module directives entries\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +68h    4  \u2502Fixup page tabl\u2502 Fixup page table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +6Ch    4  \u2502Fixup rec table\u2502 Fixup record table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +70h    4  \u2502Imported module\u2502 Imported modules name table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +74h    4  \u2502Imported mod cn\u2502 Imported modules count\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +78h    4  \u2502Imported proc  \u2502 Imported procedure name table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +7Ch    4  \u2502Per-page checks\u2502 Per-page checksum table offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +80h    4  \u2502Data pages offs\u2502 Data pages offset from top of file\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +84h    4  \u2502Preload page cn\u2502 Preload page count\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +88h    4  \u2502Non-resid table\u2502 Non-resident names table offset from top of file\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +8Ch    4  \u2502Non-resid size \u2502 Non-resident names table length\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +90h    4  \u2502Non-res checksm\u2502 Non-resident names table checksum\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +94h    4  \u2502Auto data obj  \u2502 Automatic data object\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +98h    4  \u2502Debug info offs\u2502 Debug information offset\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +9Ch    4  \u2502Debug inf size \u2502 Debug information length\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +A0h    4  \u2502Preload pg numb\u2502 Preload instance pages number\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +A4h    4  \u2502Demand pg numb \u2502 Demand instance pages number\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +A8h    4  \u2502Extra head aloc\u2502 Extra heap allocation\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n +ACh    4  \u2502  Unknown  \u2502   \u2502  ???\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : NE Header Information Block Layout\n|============================================================================\n\n                 \u258c`LE Header Information Block Flags Layout`\n                 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n\n 3 3 2 2  2 2 2 2     2 2 2 2  1 1 1 1\n 1 0 9 8  7 6 5 4     3 2 1 0  9 8 7 6\n \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0     \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0\n \u2514\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2500  Reserved\n\n 1 1 1 1  1 1\n 5 4 3 2  1 0 9 8     7 6 5 4  3 2 1 0\n \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0     \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0\n \u2502   \u2502      \u2502 \u2502 \u2502         \u2502 \u2502    \u2502\n \u2502   \u2502      \u2514\u2500\u253c\u2500\u2518         \u2502 \u2502    \u2514\u2500\u2500\u2500\u2500\u25002\u2500 Initialization ( Only for DLL ):\n \u2502   \u2502        \u2502           \u2502 \u2502              0: Global\n \u2502   \u2502        \u2502           \u2502 \u2502              1: Per-Process\n \u2502   \u2502        \u2502           \u2502 \u2502\n \u2502   \u2502        \u2502           \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25004\u2500 1:No internal fixup in exe image\n \u2502   \u2502        \u2502           \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25005\u2500 1:No external fixup in exe image\n \u2502   \u2502        \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25008,9,10\u2500   0 - Unknown\n \u2502   \u2502                                      1 - Incompatible with PM windowing\n \u2502   \u2502                                      2 -   Compatible with PM windowing\n \u2502   \u2502                                      3 - Uses PM windowing API\n \u2502   \u2502\n \u2502   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250013\u2500 1: Module not loadable\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250015\u2500 1: Module is DLL rather then program\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : NE Header Information Block Flags Layout\n|============================================================================\n\n                     \u258c`LE Header Object Table Layout`\n                     \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n   The object table contains information that describes each segment in an\n executable file. This information includes segment length, segment type,\n and segment-relocation data. The following list summarizes the values found\n in in the segment table ( the locations are relative to the beginning of\n each entry):\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510\n+0h      4  \u2502 Virt segm size\u2502 Virtual segment size in bytes\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n+4h      4  \u2502Reloc base addr\u2502 Relocation base address\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n+8h      4  \u2502 Object flags  \u2502 Object flags\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n+Ch      4  \u2502 Page map index\u2502 Page map index\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n+10h     4  \u2502 Page map entr \u2502 Page map entries\n            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524\n+14h     4  \u2502    Unknown    \u2502 ???\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518\n\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also :\n|============================================================================\n\n                     \u258c`LE Header Object Flags Layout`\n                     \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n\n 3 3 2 2  2 2 2 2     2 2 2 2  1 1 1 1\n 1 0 9 8  7 6 5 4     3 2 1 0  9 8 7 6\n \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0     \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0\n \u2514\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2500\u2500  Reserved\n\n 1 1 1 1  1 1\n 5 4 3 2  1 0 9 8     7 6 5 4  3 2 1 0\n \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0     \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0\n \u2502 \u2502 \u2502 \u2502    \u2502 \u2514\u252c\u2518     \u2502 \u2502 \u2502 \u2502  \u2502 \u2502 \u2502 \u2514\u25000\u2500  1: Readable\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2502 \u2502 \u2502 \u2502  \u2502 \u2502 \u2514\u2500\u2500\u25001\u2500  1: Writable\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2502 \u2502 \u2502 \u2502  \u2502 \u2514\u2500\u2500\u2500\u2500\u25002\u2500  1: Executable\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2502 \u2502 \u2502 \u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u25003\u2500  1: Resource\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25004\u2500  1: Discardable\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25005\u2500  1: Shared\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25006\u2500  1: Preloaded\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2502      \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25007\u2500  1: Invalid\n \u2502 \u2502 \u2502 \u2502    \u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25008,9\u2500\u2500  Type: 00 - Normal\n \u2502 \u2502 \u2502 \u2502    \u2502                                    01 - Zero-filled\n \u2502 \u2502 \u2502 \u2502    \u2502                                    10 - Resident\n \u2502 \u2502 \u2502 \u2502    \u2502                                    11 - Resident\/contiguous\n \u2502 \u2502 \u2502 \u2502    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250010\u2500  \"RESIDENT\/LONG_LOCABLE\"\n \u2502 \u2502 \u2502 \u2502\n \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250012\u2500  \"16:16_ALIAS\"\n \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250013\u2500  1: \"BIG\" (USE32)\n \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250014\u2500  1: Conforming\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u250015\u2500  \"Object_i\/o_privilage_level\"\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also :\n|============================================================================\n\n                     \u258c`LE Header Resident-Name Table Layout`\n                     \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `resident-name` table contains strings that identify exported functions\n in the exe file. As the name implies, these strings are resident in system\n memory and never discarded. The `resident-name` strings are case-sensitive and\n are not null-terminated. The following list summarizes the values found\n in in the `resident-name` table ( the locations are relative to the beginning\n of each entry):\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2510\n+0h      1  \u2502Siz\u2502     Specifies the length of a string.If there are no more\n            \u2514\u2500\u2500\u2500\u2518       strings in the table, this value is zero.\n            \u250c\u2500\u2500 \u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2510\n+1h      N  \u2502  String                 \u2502 Specifies the `resident-name` text.\n            \u251c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n+N+01h   2  \u2502Index  \u2502 Specifies an ordinal number, that identifies the string.\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518 This number is an index into the entry table.\n\n     The first string in the resident-name table is the module name.\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : LE Header Information Block Layout\n|============================================================================\n\n                      \u258c`LE Header Entry-Table Layout`\n                      \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `entry table` contains bundles of entry points from exe file ( the\n linker generates each bundle). The numbering system for these ordinal values\n is 1-based -- that is, the ordinal value corresponding to the first entry\n point is 1.\n\n     The linker generates the densest possible bundles under the restriction\n that it cannot reorder the entry points. This restriction is necessary\n because other exe files may refer to entry points within a given bundle by\ntheir ordinar values.\n\n     The `entry-table` data is organized by bundle, each of which begins with\n a 2-byte header. The first byte of the header specifies the number of entries\n in the bungle ( a value of 00h designates the end of the table). The second\n byte specifies flags. The third and forth byte specified object number.\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n            \u250c\u2500\u2500\u2500\u2510\n+0h      1  \u2502Siz\u2502     Number of entries in this bungle\n            \u251c\u2500\u2500\u2500\u2524\n+1h      1  \u2502Ind\u2502     Bungle flags :\n            \u2514\u2500\u2500\u2500\u2518     7 6 5 4   3 2 1 0\n                      \u25a0 \u25a0 \u25a0 \u25a0   \u25a0 \u25a0 \u25a0 \u25a0\n                                    \u2502 \u25140\u2500  1:Valid entry,   0:Zero entry\n                                    \u2514\u2500\u25001\u2500  1:32-bits entry, 0:16-bits entry\n            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510\n+2h      2  \u2502Index  \u2502 Object index\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518\n            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n+4h 3 or 5  \u2502  Entry 1          \u2502\n            \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n+?? 3 or 5  \u2502  Entry 2          \u2502\n            \u251c\u2500\u2500\u2500 \u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n+?? 3 or 5  \u2502  Entry N          \u2502\n            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n     Each entry consists of 3 or 5 bytes and has the following\n form:\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2510\n+0h      1  \u2502Flg\u2502 Specifies a byte value.This value can be a combination of\n            \u2514\u2500\u2500\u2500\u2518  the following bits:\n                   7 6 5 4  3 2 1 0\n                   \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0\n                   \u2514\u2500\u2534\u2500\u2534\u2500\u253c\u2500\u2500\u2518   \u2502 \u2514\u2500  1: Entry is exported\n                         \u2502      \u2514\u2500\u2500\u2500  1: The segment uses a global (shared)\n                         \u2502               data segment.\n                         \u2502\n                         \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  If Code segment these bits specify the\n                                         number of words that compose the\n                                         stack.At the time of the ring\n                                         transitions, these words must be\n                                         copied from one ring to the other.\n            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510\n+1   2 or 4 \u2502Offset \u2502 Specifies the segment offset. ( Word or Dword depending\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518 on bit 1 bungle flags\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : LE Header Information Block Layout\n|============================================================================\n\n                   \u258c`LE Header Fixup Record  Table Layout`\n                   \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     Code and data segments follow the LE header. Some of code segments may\n contain calls to function in other segments and may,therefore, require\n relocation data to resolve those references.This relocation data is stored\n in a fixup record table.A relocation item is a collection of bytes\n specifying the following information:\n\n \u25a0 Address type ( Segment only,offset only,segment and offset)\n\n \u25a0 Relocation type (internal reference, imported ordinal, imported name)\n\n \u25a0 Segment number or ordinal identifier ( for internal references)\n\n \u25a0 Reference-table index or function ordinal number ( for imported ordinal)\n\n \u25a0 Reference-table index or name-table offset ( for imported names )\n\n\n   Each relocation item consist of:\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2510\n+0h     1   \u2502ATp\u2502  Specify relocation addres type:\n            \u2514\u2500\u2500\u2500\u2518\n                   7 6 5 4   3 2 1 0\n                   \u25a0 \u25a0 \u25a0 \u25a0   \u25a0 \u25a0 \u25a0 \u25a0\n                       \u2502 \u2502   \u2514\u2500\u2500\u252c\u2500\u2500\u2518\n                       \u2502 \u2502      \u2514\u2500\u2500\u2500\u2500\u2500  Reloc Address Type:\n                       \u2502 \u2502               0 - Low byte at the specified offset\n                       \u2502 \u2502               2 - 16-bits selector\n                       \u2502 \u2502               3 - 32-bits far pointer\n                       \u2502 \u2502               5 - 16-bits Offset\n                       \u2502 \u2502               6 - 48-bits far pointer\n                       \u2502 \u2502               7 - 32-bits Offset\n                       \u2502 \u2502               8 - 32-bits Offset Relatively EIP\n                       \u2502 \u2502\n                       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  1: Fixup to 16:16 alias \n                       \u2502\n                       \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  0: Not List  e\n                                        1: List of source offset follows \n                                           fixup record\n\n            \u250c\u2500\u2500\u2500\u2510\n+1h     1   \u2502Rtp\u2502  Specify relocation type:\n            \u2514\u2500\u2500\u2500\u2518\n                   7 6 5 4   3 2 1 0\n                   \u25a0 \u25a0 \u25a0 \u25a0   \u25a0 \u25a0 \u25a0 \u25a0\n                   \u2502 \u2502 \u2502 \u2502     \u2502 \u2514\u252c\u2518\n                   \u2502 \u2502 \u2502 \u2502     \u2502  \u2514\u2500\u2500\u2500  Relocation Type:\n                   \u2502 \u2502 \u2502 \u2502     \u2502         00 - Internal reference\n                   \u2502 \u2502 \u2502 \u2502     \u2502         01 - Imported ordinal\n                   \u2502 \u2502 \u2502 \u2502     \u2502         10 - Imported Name\n                   \u2502 \u2502 \u2502 \u2502     \u2502         11 - OSFIXUP ???\n                   \u2502 \u2502 \u2502 \u2502     \u2502\n                   \u2502 \u2502 \u2502 \u2502     \u2514\u2500\u2500\u2500\u2500\u2500\u2500  1: Additive FIXUP\n                   \u2502 \u2502 \u2502 \u2502\n                   \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  1: Target Offset is 32-bits\n                   \u2502 \u2502 \u2502                0: Target Offset is 16-bits\n                   \u2502 \u2502 \u2502\n                   \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  0 - 16-Bits Additive Flags\n                   \u2502 \u2502                  1 - 32-Bits Additive Flags\n                   \u2502 \u2502\n                   \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  1 - 16-bit Object\/Module ordinal\n                   \u2502                    0 -  8-bit Object\/Module ordinal\n                   \u2502\n                   \u2502\n                   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  1 -  8-bit Import Ordinal       \n                                        0 -  Bit 4 Toggles Between 16 and \n                                             32 ordinal\n\n\n\n\n\n\n\u2554\u2550 If Bit 5 of relocation addres type equal 0 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551                                                                             \u2551\n\u2551            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510                                                        \u2551\n\u2551+2h      2  \u2502RelOffs\u2502Specify the offset of the relocation item whithin       \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518 current page ( See fixup page table )                  \u2551\n\u2551                                                                             \u2551\n\u2551---For internal reference ------                                             \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+4h      1  \u2502Ind\u2502    Specify Target segment number.                          \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2518                                                            \u2551\n\u2551                                                                             \u2551\n\u2551---For imported ordinal------------------------                              \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+4h      1  \u2502Ind\u2502 Imported module-name index.See imported modules name table \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c \u2500 \u2510                                                        \u2551\n\u2551+5h   1 or 2\u2502Ordinal\u2502 Ordinal value Depending on Bit 7 of Relocation type    \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551            \u250c \u2500\u2500\u252c \u2500\u2500\u252c\u2500 \u2500\u252c\u2500 \u2500\u2510                                                \u2551\n\u2551+6(7)  2 (4)\u2502 Abs Add Value \u2502 This field present if Bit 2 of Relocation      \u2551\n\u2551            \u2514 \u2500\u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2518  Type Set to 1. Its size 2 or 4 bytes depending\u2551\n\u2551                               on Bit 4 of Relocation Type.                  \u2551\n\u2551            \u250c \u2500 \u252c \u2500 \u2510                                                        \u2551\n\u2551+n        2 \u2502Extra  \u2502 Present if bit 4 Relocation Type Set to 1              \u2551\n\u2551            \u2514\u2500 \u2500\u2534 \u2500\u2500\u2518                                                        \u2551\n\u2551                                                                             \u2551\n\u2551---For imported name---------------------------                              \u2551\n\u2551                                                                             \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+4h      1  \u2502Ind\u2502 Imported module-name index.See imported modules name table \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2510                                                        \u2551\n\u2551+6h      2  \u2502Offset \u2502 Offset of name in imported procedure names table.      \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551            \u250c \u2500\u2500\u252c \u2500\u2500\u252c\u2500 \u2500\u252c\u2500 \u2500\u2510                                                \u2551\n\u2551+8     2 (4)\u2502 Abs Add Value \u2502 This field present if Bit 2 of Relocation      \u2551\n\u2551            \u2514 \u2500\u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2518  Type Set to 1. Its size 2 or 4 bytes depending\u2551\n\u2551                               on Bit 4 of Relocation Type.                  \u2551\n\u2551                                                                             \u2551\n\u2551            \u250c \u2500 \u252c \u2500 \u2510                                                        \u2551\n\u2551+n        2 \u2502Extra  \u2502 Present if bit 4 Relocation Type Set to 1              \u2551\n\u2551            \u2514\u2500 \u2500\u2534 \u2500\u2500\u2518                                                        \u2551\n\u2551                                                                             \u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\n\u2554\u2550 If Bit 5 of relocation addres type equal 1 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551                                                                             \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+2h      1  \u2502Cnt\u2502  Offset Counter                                            \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2518                                                            \u2551\n\u2551                                                                             \u2551\n\u2551---For internal reference ------                                             \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+4h      1  \u2502Ind\u2502    Specify Target segment number.                          \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2518                                                            \u2551\n\u2551            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510                                                        \u2551\n\u2551+5h    2*N  \u2502RelOffs\u2502Specify the offset of the relocation item whithin       \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524 current page ( See fixup page table )                  \u2551\n\u2551            \u2502   \u2502   \u2502                                                        \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524                                                        \u2551\n\u2551               ...                                                           \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524                                                        \u2551\n\u2551            \u2502   N   \u2502                                                        \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551                                                                             \u2551\n\u2551---For imported ordinal------------------------                              \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+4h      1  \u2502Ind\u2502 Imported module-name index.See imported modules name table \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c \u2500 \u2510                                                        \u2551\n\u2551+5h   1 or 2\u2502Ordinal\u2502 Ordinal value Depending on Bit 7 of Relocation type    \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551            \u250c \u2500\u2500\u252c \u2500\u2500\u252c\u2500 \u2500\u252c\u2500 \u2500\u2510                                                \u2551\n\u2551+6(7)  2 (4)\u2502 Abs Add Value \u2502 This field present if Bit 2 of Relocation      \u2551\n\u2551            \u2514 \u2500\u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2518  Type Set to 1. Its size 2 or 4 bytes depending\u2551\n\u2551                               on Bit 4 of Relocation Type.                  \u2551\n\u2551            \u250c \u2500 \u252c \u2500 \u2510                                                        \u2551\n\u2551+n        2 \u2502Extra  \u2502 Present if bit 4 Relocation Type Set to 1              \u2551\n\u2551            \u2514\u2500 \u2500\u2534 \u2500\u2500\u2518                                                        \u2551\n\u2551            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510                                                        \u2551\n\u2551+n+2   2*N  \u2502RelOffs\u2502Specify the offset of the relocation item whithin       \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524 current page ( See fixup page table )                  \u2551\n\u2551            \u2502   \u2502   \u2502                                                        \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524                                                        \u2551\n\u2551               ...                                                           \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524                                                        \u2551\n\u2551            \u2502   N   \u2502                                                        \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551                                                                             \u2551\n\u2551---For imported name---------------------------                              \u2551\n\u2551                                                                             \u2551\n\u2551            \u250c\u2500\u2500\u2500\u2510                                                            \u2551\n\u2551+4h      1  \u2502Ind\u2502 Imported module-name index.See imported modules name table \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2510                                                        \u2551\n\u2551+6h      2  \u2502Offset \u2502 Offset of name in imported procedure names table.      \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551            \u250c \u2500\u2500\u252c \u2500\u2500\u252c\u2500 \u2500\u252c\u2500 \u2500\u2510                                                \u2551\n\u2551+8     2 (4)\u2502 Abs Add Value \u2502 This field present if Bit 2 of Relocation      \u2551\n\u2551            \u2514 \u2500\u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2534\u2500 \u2500\u2518  Type Set to 1. Its size 2 or 4 bytes depending\u2551\n\u2551                               on Bit 4 of Relocation Type.                  \u2551\n\u2551                                                                             \u2551\n\u2551            \u250c \u2500 \u252c \u2500 \u2510                                                        \u2551\n\u2551+n        2 \u2502Extra  \u2502 Present if bit 4 Relocation Type Set to 1              \u2551\n\u2551            \u2514\u2500 \u2500\u2534 \u2500\u2500\u2518                                                        \u2551\n\u2551            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510                                                        \u2551\n\u2551+n+2   2*N  \u2502RelOffs\u2502Specify the offset of the relocation item whithin       \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524 current page ( See fixup page table )                  \u2551\n\u2551            \u2502   \u2502   \u2502                                                        \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524                                                        \u2551\n\u2551               ...                                                           \u2551\n\u2551            \u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2524                                                        \u2551\n\u2551            \u2502   N   \u2502                                                        \u2551\n\u2551            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518                                                        \u2551\n\u2551                                                                             \u2551\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\nSee also : LE Header Information Block Layout\n|============================================================================\n\n                   \u258c`LE Header Fixup Page  Table Layout`\n                   \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n      In the LE header fixup records table  are array of fixup records and\n offset into fixup records are relative to the current page. Fixup page table\n serves to identify fixup records into code and data segments offset.\n      Fixup page table is array of dwords. Number of dwords is number of\n pages plus 1.Each dword contains offset into Fixup Record Table\n of first fixup in the current page. Last dword contains size of\n fixup record table in bytes.I.e. substraction contains dword+1 with current\n dword is fixup table size for current page.\n    For example: Number of page is 4.\n       \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n    1  \u2502         0          \u2502  Offset of fixup for 1 page\n       \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n    2  \u2502         5          \u2502  Offset of fixup for 2 page\n       \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n    3  \u2502         5          \u2502  Offset of fixup for 3 page\n       \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n    4  \u2502        0Ch         \u2502  Offset of fixup for 4 page\n       \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n    5  \u2502        13h         \u2502  Size of fixup record table.\n       \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n  First page have fixup records at offset 0, its size is 5-0 = 5 bytes.\n  Second page hasn't fixup,because its size is 5-5=0 bytes.\n  Third page have fixup records at offset 5, its size is 0C-5 = 7 bytes.\n  Forth page have fixup records at offset 0Ch, its size is 13h-0Ch = 7 bytes.\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : LE Header Information Block Layout\n|============================================================================\n\n                 \u258c`LE Header Imported-modules Name Table Layout`\n                 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `imported-modules name` table contains the names of modules that\n the exe file imports. Each entry contains two parts: a single byte that\n specifies the length of the string and the string itself. The strings in\n this table are not null-terminated.\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2510\n+0h      1  \u2502Siz\u2502     Specifies the length of a string\n            \u251c\u2500\u2500\u2500\u2534\u2500\u2500\u2500 \u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2510\n+1h      N  \u2502  String                 \u2502 Specifies the string text.\n            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n  The first byte in `imported-modules name` table is zero. First name begins\n from offset +1.\n\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : NE Header Information Block Layout\n|============================================================================\n\n              \u258c`LE Header Imported-procedures Name Table Layout`\n              \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `imported-procedures name` table contains the names of procedures that\n the exe file imports. Each entry contains two parts: a single byte that\n specifies the length of the string and the string itself. The strings in\n this table are not null-terminated.\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2510\n+0h      1  \u2502Siz\u2502     Specifies the length of a string\n            \u251c\u2500\u2500\u2500\u2534\u2500\u2500\u2500 \u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2510\n+1h      N  \u2502  String                 \u2502 Specifies the string text.\n            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n\n\n\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : NE Header Information Block Layout\n|============================================================================\n\n                    \u258c`LE Header Nonresident-Name Table Layout`\n                    \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `nonresident-name` table contains strings that identify exported\n functions in the exe file. As the name implies, these strings are not always\n resident in system memory and discardable. The `nonresident-name` strings are\n case-sensitive and are not null-terminated. The following list summarizes the\n values found in in the `nonresident-name` table ( the locations are relative\n to the beginning of each entry):\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u2510\n+0h      1  \u2502Siz\u2502     Specifies the length of a string.If there are no more\n            \u2514\u2500\u2500\u2500\u2518       strings in the table, this value is zero.\n            \u250c\u2500\u2500 \u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2510\n+1h      N  \u2502  String                 \u2502 Specifies the `nonresident-name` text.\n            \u251c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n+N+01h   2  \u2502Index  \u2502 Specifies an ordinal number, that identifies the string.\n            \u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2518 This number is an index into the entry table.\n\n     The first name that appearsin the `nonresident-name` table is the module\n description string ( which was specified in the module-definition file).\n\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : LE Header Information Block Layout\n|============================================================================\n\n                    \u258c`LE Header Object Page Map Table`\n                    \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n\n     The `object page map` table contains location of each page into\n exe file.This table consists of Dwords. Each dword correspond to one\n page in exe file. Number of page is set in  LE Header Information Block\n at offset +14h.\n\nOffset Size Contents\n\u2580\u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n            \u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2510\n+0h      2  \u2502HighPag\u2502 High page Number\n            \u251c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2518\n+2       1  \u2502Low\u2502     Low page Number\n            \u251c\u2500\u2500\u2500\u2524\n+4       1  \u2502FLG\u2502      Page FLAGS:\n            \u2514\u2500\u2500\u2500\u2518   7 6 5 4  3 2 1 0\n                    \u25a0 \u25a0 \u25a0 \u25a0  \u25a0 \u25a0 \u25a0 \u25a0\n                    \u2514\u252c\u2518          \u2514\u252c\u2518\n                     \u2502            \u2514\u2500\u2500\u2500\u2500\u2500  11 - Last page in file\n                     \u2502\n                     \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  Page Type: 00 - Legal\n                                                     01 - Iterated\n                                                     10 - Invalid\n                                                     11 - Zero filled\n  To compute page offset into file necessary:\n  (HighPageNumber+LowPageNumber-1)*PageSize+FirstPageOffset\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSee also : LE Header Information Block Layout<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>An virtual device drivers or some other applications for Microsoft Windows or IBM OS\/2 operating system which uses 32-bits segments for 80386+ contains a combination of code and data or combination of code,data, and resources. The `LINEAR-EXECUTABLE` file such as a NEW-STYLE EXE file also contains two headers: an ^Tp236 {MS-DOS header} and a `LINEAR`&hellip;<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/www.ecsdump.net\/?page_id=1151\" title=\"Continue reading &lsquo;LINEAR-EXECUTABLE File Header Layout&rsquo;\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"footnotes":""},"categories":[],"tags":[],"wf_page_folders":[],"class_list":["post-1151","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/1151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1151"}],"version-history":[{"count":2,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/1151\/revisions"}],"predecessor-version":[{"id":1153,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/1151\/revisions\/1153"}],"wp:attachment":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1151"},{"taxonomy":"wf_page_folders","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fwf_page_folders&post=1151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}