Up ] Docs Home ]

Format of new executable header

Back ] Next ]

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
00h = unknown
01h = OS/2
02h = Windows
03h = European MS-DOS 4.x
04h = Windows 386
05h = BOSS (Borland Operating System Services)
81h = PharLap 286|DOS-Extender, OS/2
82h = PharLap 286|DOS-Extender, Windows

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:

#01594