L'entête
NE est utilisé par les fichiers exécutables de Windows et
d'OS/2. Habituellement, cette entête ce situe après l'offset
0080h de départ de l'entête MZ. S'il est situé avant,
cela risque de provoquer des conflits dans l'environnement graphique de
Windows.
Offset (Hex) = L'offset dans le fichier, il s'agit d'un déplacement a effectuer
par rapport à son entête. Les valeurs utilisées sont 0 à 9, ensuite de A à F.
Type = Type de valeures.
1. Octet = Une valeur situé entre 0 et 255
2. Mot = Une valeur situé entre 0 et 65535 (2 octets = 256 x 256 = 65536)
3. Double Mot = Une valeur situé entre 0 et 4294967295
(4 octets = 256 x 256 x 256 x 256 = 4294967296)
Description = Description de l'offset courant.
Valeur de démarrage (Hex) = Valeur de démarrage recommendé
dans un fichier exécutable vide.
Headersize = Taille de l'entête. L'entête peut aller jusqu'à 512 octets.
| 0000h |
2 octets |
Signature "NE" |
4Eh 45h |
| 0002h |
Octet |
Version de liaison (Linker major version) |
01h |
| 0003h |
Octet |
Sous-version de laision (Linker minor version) |
00h |
| 0004h |
Mot |
Offset de départ de l'entête de la table d'entrée. |
00h 00h |
| 0006h |
Mot |
Longueur de la table d'entrée. |
00h 00h |
| 0008h |
Double mot |
Code CRC du fichier à chargé (0 avec TPW de Borland) |
00h 00h 00h 00h |
| 000Ch |
Octet |
Drapeau de programmes |
00h |
| 0 à 1 |
Type DGROUP
0 = Aucun
1 = Partage simple
2 = Multiple (non partagé)
3 = (nulle) |
| 2 |
Initialisation global |
| 3 |
Mode protégé seulement |
| 4 |
Instructions code machine de la famille 8086 |
| 5 |
Instructions code machine de la famille 80286 |
| 6 |
Instructions code machine de la famille 80386 |
| 7 |
Instructions coprocesseur mathématique 80x87 |
| 000Dh |
Octet |
Drapeaux d'Application |
00h |
| 0 à 2 |
Type d'Application
001b = Plein écran (pas l'environnement de Windows ou le P.M. API d'OS/2)
010b = Compatible avec Windows/P.M. API
011b = Utilise Windows/P.M. API |
| 3 |
C'est une application de la famille d'OS/2. |
| 5 |
0 = Exécutable, 1 = Erreurs dans l'image |
| 6 |
Programme non-conforme (Pile valide n'est pas maintenu) |
| 7 |
DLL ou pilote de l'Application
(Si l'information SS:SP est invalide, CS:IP pointes sur une routine FAR d'initialisation appeler avec
AX=Handle du module handle lequel retourne
AX=0000h en cas d'échec,
AX<>0000h si l'initialisation est un succès) |
| 000Eh |
Mot |
Index de données segment automatique |
00h 00h |
| 0010h |
Mot |
Taille initial du tas local |
00h 00h |
| 0012h |
Mot |
Taille Initial de la pile (additionné au segment de donnée, 0000h si SS <> DS) |
00h 00h |
| 0014h |
Double mot |
Point d'entrée du programme (CS:IP), "CS" est le segment de l'index |
00h 00h 00h 00h |
| 0018h |
Double mot |
Pointeur de la pile initiale (SS:SP), "SS" est l'index de segment. Si
SS = Index de données segment automatique et SP =
0000h, le pointeur de pile est fixé au maximum de Index de données
segment automatique, juste avant le tas local. |
00h 00h 00h 00h |
| 001Ch |
Mot |
Compteur de segment |
00h 00h |
| 001Eh |
Mot |
Compteur de référence du module |
00h 00h |
| 0020h |
Mot |
Longueur de la table de nom non-résidente en octet. |
00h 00h |
| 0022h |
Mot |
Offset de départ de l'entête de la table de segment. |
00h 00h |
| 0024h |
Mot |
Offset de départ de l'entête de la table de ressource |
00h 00h |
| 0026h |
Mot |
Offset de départ de l'entête de la table de nom résident |
00h 00h |
| 0028h |
Mot |
Offset de départ de l'entête de la table de référence |
00h 00h |
| 002Ah |
Mot |
Offset de départ de l'entête de la table de nom d'importation (tableau de chaîne de caractères de format ASCIZ) |
00h 00h |
| 002Ch |
Double mot |
Offset de départ de l'entête de la table de nom de non-resident |
00h 00h 00h 00h |
| 0030h |
Mot |
Compteur du point d'entrée déplacable contenu dans la table d'entrée. |
00h 00h |
| 0032h |
Mot |
Taille d'alignement du fichier multiple de 512 (requérant un décalage de bit de 9) |
00h 00h |
| 0034h |
Mot |
Nombre d'entrées dans la table ressource |
00h 00h |
| 0036h |
Octet |
Système d'exploitation destinataire
00h - Inconnu
01h - OS/2
02h - Windows
03h - MS-DOS 4.x européen
04h - Windows 386
05h - BOSS (Borland Operating System Services) |
00h |
| 0037h |
Octet |
Autre drapeaux d'EXE |
00h |
| 0 |
Supporte les noms de fichiers long |
| 1 |
Mode protégée 2.X |
| 2 |
Police de caractères proportionnel 2.X |
| 3 |
Région "Gangload" |
| 0038h |
Mot |
Offset de retour ou départ de la région "gangload" |
00h 00h |
| 003Ah |
Mot |
Offset de référence segment ou longueur de la région "gangload" |
00h 00h |
| 003Ch |
Mot |
Taille minimal de la région du "Swap Code" |
00h 00h |
| 003Eh |
Octet |
Sous-Version de Windows |
00h |
| 003Fh |
Octet |
Version de Windows |
04h |
| 0000h |
Mot |
Offset dans le fichier (Décalage à gauche pour alligner sur l'offset de demande d'octet) |
00h 00h |
| 0002h |
Mot |
Longueur de l'image dans lefichier (0000h = 64Ko) |
00h 00h |
| 0004h |
Mot |
Attributs de Segment |
00h 00h |
| 0 |
Segment de donnée reliée au segment de code |
| 1 |
Inutilisé? |
| 2 |
Mode réel |
| 3 |
Héritage |
| 4 |
Déplaçable |
| 5 |
Partagable |
| 6 |
Préchargeable demande chargement |
| 7 |
Execute seulement (codes) ou lecture seulement (données) |
| 8 |
Rélaction des segments nécessaires? |
| 9 |
Information de déboguage présent |
| 10,11 |
80286 DPL bits |
| 12 |
Injectable de la mémoire |
| 13 à 15 |
Priorité d'injection de la mémoire |
| 0006h |
Mot |
Nombre d'octets devant être allouée dans le segment (0000h = 64Ko) |
00h 00h |