LINK Help (linkx.hlp) (Table of Contents; Topic list)
/DOSSEG Option
                                             Up Contents Index Back
─────/DOSSEG Option─────────────────────────────────────────────────────────
 
     Syntax:  /DO[SSEG]
 
     The /DOSSEG option forces segments to be ordered as follows:
 
       1. All segments with a class name ending in CODE
 
       2. Far data segments (segments outside DGROUP)
 
       3. Near data (DGROUP) segments, in the following order:
 
            a. Segments of class BEGDATA (reserved for Microsoft use)
            b. Any segments not of class BEGDATA, BSS, or STACK
            c. Segments of class BSS
            d. Segments of class STACK
 
     In addition, /DOSSEG causes LINK to
 
        ■ Initialize two special variables:
 
               _edata = DGROUP : BSS
               _end   = DGROUP : STACK
 
          The variables _edata and _end have special meanings for
          Microsoft compilers; avoid using these names in your
          programs. Assembly-language programs can reference these
          variables but should not change them.
 
        ■ Insert 16 null bytes at the beginning of the _TEXT segment
          (if this segment is defined). This null area provides
          protection in case a null pointer is used. To suppress the
          null bytes, use the /NONULLS option instead of /DOSSEG;
          /NONULLS overrides the DOSSEG comment record found in
          standard Microsoft libraries.
          See: /NONULLS Option
 
     The /DOSSEG option is mainly for use with assembly-language
     programs. A special object-module record in the Microsoft language
     libraries automatically enables /DOSSEG. /DOSSEG is also enabled
     by assembly programs that use the Microsoft Macro Assembler (MASM)
     directive .DOSSEG.
                                    -♦-