Страница 41 из 56
- 335,336 -
Вложенные
sfiles
ЪДДДДДДДДДДї(CS-указатель одновременно
іsfileA ітолько на 1 sfile)
CS -->іsfileB і
ЪДґ... і
Сегментные і іsfileZ і Размер
регистры: і АДДДДДДДДДДЩ Нач.адрес. сегмента:
CS -->ЙНННННіНННННННННННННННННННННННННН»
єЪДДДДБї єкаждый sfile
єіsfileі_TEXTclass'CODE'программаєдо 64К
єАДДДДДЩ є
DS,SS -->МНННННННННННННННННННННННННННННННН№
Й є_DATA class 'DATA' иниц.данные є »
є МНННННННННННННННННННННННННННННННН№ є
є є_BSS class 'BSS' не иниц.данные є є
є МНННННННННННННННННННННННННННННННН№ є
DGROUР Н№ є ХИП є МН до 64К
є МНННННННННННННННННННННННННННННННН№ є
є є Свободная область є є
SP(TOS)-->МНННННННННННННННННННННННННННННННН№ є
И є СТЕК є ј
Стартовый SP-->МНННННННННННННННННННННННННННННННН№ до конца
є FAR ХИП є памяти
МНННННННННННННННННННННННННННННННН№
є Свободная область є
ИННННННННННННННННННННННННННННННННј
Конеч.адрес.
Рис. 12.4. Средняя модель сегментации памяти
- 337,338 -
Сегментные Размер
регистры: сегмента:
Нач.адрес.
CS,DS -->ЙНННННННННННННННННННННННННННННН»
є_TEXT class 'CODE'Программа є до 64К
МНННННННННННННННННННННННННННННН№
Й є_DATA class 'DATA'иниц.данные є »
DGROUP Н№ МНННННННННННННННННННННННННННННН№ МН до 64К
И є_BSS CLASS 'BSS' 'иниц.данные є ј
SS -->МНННННННННННННННННННННННННННННН№
є Свободная область є
SP(TOS)-->МНННННННННННННННННННННННННННННН№
є СТЕК є до 64К
Стартовый SP-->МНННННННННННННННННННННННННННННН№ до конца
є ХИП є памяти
МНННННННННННННННННННННННННННННН№
є Свободная область є
ИННННННННННННННННННННННННННННННј
Конеч.адрес.
Рис.12.5. Компактная модель сегментации памяти
Вложенные
sfiles
ЪДДДДДДДДДДї(CS-указатель одновременно
іsfileA і только на 1 sfile)
CS -->іsfileB і
ЪДґ... і
Сегментные і іsfileZ і Размер
регистры: і АДДДДДДДДДДЩ Нач.адрес. сегмента:
CS -->ЙНННННіНННННННННННННННННННННННННН»
єЪДДДДБї є Каждый sfile
іsfileB і(DS-указатель одновременно
і... і только на 1 sfile)
іsfileZ і
АДДДДДДДДДДЩ
Вложенные
sfiles
Рис.12.7. Огромная модель сегментации памяти
Таблица 12.1 обобщает информацию о различных моделях и пока-
зывает их в сравнении. Модели группируют в зависимости от того,
какова у них величина программы и данных, т.е. маленькая (64К)
или большая (1М). Эти группы соответствуют колонкам и столбцам в
таблице 12.1. Так, например, крохотную, малую и компактную модели
называют "моделями с малыми программами" потому, что, по умолча-
нию, указатели в таких программах только near. Аналогично ком-
пактную, большую и огромную модели называют "моделями с большими
данными" потому, что, по умолчанию, указатели к данным в них
только far. Заметим, что это также верно для огромной модели: по
умолчанию, указатели к данным только far, а не нормализованные
(huge). Если вы хотите использовать huge-указатели к данным, то
вы должны предварительно объявить их как huge.