0988b24c

Директива DOSSEG: упорядочивание сегментов в порядке DOS


Обычно компоновщик упорядочивает сегменты в последовательном порядке - в том порядке, в котором он их обрабатывает при генера- ции программы. Если вы включаете в любой модуль программу дирек- тиву DOSSEG, то это указывает компоновщику, что вместо этого упорядочивания нужно использовать порядок сегментов, принятый в DOS. Компоновщик при этом выполняет в получаемой программе следу- ющее упорядочивание:

- сначала идут сегменты с именем класса CODE (обычно сегмен- ты кода);

- затем следуют сегменты, не имеющие имени класса CODE и не являющиеся частью DGROUP;

- сегменты, являющиеся частью DGROUP в следующем порядке:

1. сегменты, не являющиеся классами BSS и STACK (обыч- но неинициализированные данные);

2. сегменты класса BSS (обычно инициализированные дан- ные);

3. сегменты класса STACK (область стека).

Примечание: Не используйте директиву DOSSEG, в прог- раммах, не являющихся автономными программами на Ассембле- ре.

Сегменты в группе DGROUP располагаются в том порядке, в ко- тором они определены в исходных модулях. Приведем синтаксис DOSSEG:

DOSSEG



Содержание раздела