Format of new executable header |
Offset | Size | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00h |
2 BYTEs |
"NE" (4Eh 45h) signature | ||||||||||||||||||||||||
02h |
2 BYTEs |
linker version (major, then minor) | ||||||||||||||||||||||||
04h |
WORD |
offset from start of this header to entry table (see #01603) | ||||||||||||||||||||||||
06h |
WORD |
length of entry table in bytes | ||||||||||||||||||||||||
08h |
DWORD |
file load CRC (0 in Borland's TPW) | ||||||||||||||||||||||||
0Ch |
BYTE |
program flags (see #01597) | ||||||||||||||||||||||||
0Dh |
BYTE |
application flags (see #01598) | ||||||||||||||||||||||||
0Eh |
WORD |
auto data segment index | ||||||||||||||||||||||||
10h |
WORD |
initial local heap size | ||||||||||||||||||||||||
12h |
WORD |
initial stack size (added to data seg, 0000h if SS <> DS) | ||||||||||||||||||||||||
14h |
DWORD |
program entry point (CS:IP), "CS" is index into segment table | ||||||||||||||||||||||||
18h |
DWORD |
initial stack pointer (SS:SP), "SS" is segment index if SS=automatic data segment and SP=0000h, the stack pointer is set to the top of the automatic data segment, just below the local heap |
||||||||||||||||||||||||
1Ch |
WORD |
segment count | ||||||||||||||||||||||||
1Eh |
WORD |
module reference count | ||||||||||||||||||||||||
20h |
WORD |
length of nonresident names table in bytes | ||||||||||||||||||||||||
22h |
WORD |
offset from start of this header to segment table (see #01601) | ||||||||||||||||||||||||
24h |
WORD |
offset from start of this header to resource table | ||||||||||||||||||||||||
26h |
WORD |
offset from start of this header to resident names table | ||||||||||||||||||||||||
28h |
WORD |
offset from start of this header to module reference table | ||||||||||||||||||||||||
2Ah |
WORD |
offset from start of this header to imported names table (array of counted strings, terminated with a string of length 00h) |
||||||||||||||||||||||||
2Ch |
DWORD |
offset from start of file to nonresident names table | ||||||||||||||||||||||||
30h |
WORD |
count of moveable entry point listed in entry table | ||||||||||||||||||||||||
32h |
WORD |
file alignment size shift count 0 is equivalent to 9 (default 512-byte pages) |
||||||||||||||||||||||||
34h |
WORD |
number of resource table entries | ||||||||||||||||||||||||
36h |
BYTE |
target operating system
|
||||||||||||||||||||||||
37h |
BYTE |
other EXE flags (see #01599) | ||||||||||||||||||||||||
38h |
WORD |
offset to return thunks or start of gangload area | ||||||||||||||||||||||||
3Ah |
WORD |
offset to segment reference thunks or length of gangload area | ||||||||||||||||||||||||
3Ch |
WORD |
minimum code swap area size | ||||||||||||||||||||||||
3Eh |
2 BYTEs |
expected Windows version (minor version first) |
Note: |
This header is documented in detail in the Windows 3.1 SDK Programmer's Reference, Vol. 4. |
See Also: |