Модели памяти
Размер кода
Размер данных
64К 16Мб
Tiny (данные и код
перекрываются; общий
размер = 64К)
64K
Small (без перекрытия; Medium (данные small,
общий размер = 128К) код large)
Compact (данные large, Large (данные и код
код small) large)
16Мб
Huge (то же, что и
large, но статические
данные > 64K)
При компиляции модуля (некоторый исходный файл с несколькими
подпрограммами), результирующий код для этого модуля не может
превышать 64К, поскольку весь файл должен компилироваться в один
кодовый сегмент. Это верно и в том случае, когда вы используете
одну из больших моделей памяти (medium, large или huge). Если ваш
модуль слишком велик и не помещается в одном кодовом сегменте
(64К), вы должны разбить его на несколько файлов исходного кода,
скомпилировать каждый из них по отдельности и затем скомпоновать
их в одну программу. Аналогичным образом, хотя модель huge и позволяет иметь размер статических данных больше чем 64К, в каждом
отдельном модуле статические данные не должны превышать 64К.