DOSSEG           Use DOS segment ordering                           Directive

DOSSEG

Enables DOS segment-ordering at link time. DOSSEG is included for
backward compatibility only.

It is recommended that you do not use the DOSSEG directive in new
assembly programs. In addition, do not use it if you're interfacing
assembly programs with C programs.

──────────────────────────────────────────────────────────────────────

Normally, the linker arranges segments in the sequential order it
encounters them during the generation of the program, i.e. (combined)
segments are grouped by sequence within each class; classes ordered by
.OBJ sequence.
This order can be altered using segment classing and segment
combination and by changing the order in which the .OBJ files are
linked.

Note that a MODEL directive defines several segments.

──────────────────────────────────────────────────────────────────────

If you include a DOSSEG directive in any module in a program, the
linker uses standard DOS segment ordering instead. The linker defines
this convention to mean the following arrangement of segments in the
final program:

■ Segments having the class name CODE (typically code segments)
■ Segments that do not have the class name CODE and are not
part of DGROUP
■ Segments that are part of DGROUP in the following order:
1. Segments not of class BSS or STACK (typically
initialized data)
2. Segments of class BSS (typically uninitialized data)
3. Segments of class STACK (stack space)
The segments within DGROUP are located in the order in which
they were defined in the source modules.