Функция Содержит длину локального heap.
Синтаксис extern unsigned _heaplen;
Объявлено в dos.h
Описание _heaplen определяет размер локального heap в ма-
лых моделях данных (tiny, small, mediuim).
_heaplen не существует в больших моделях данных
(compact, large, huge), т.к. они не имеют локаль-
ного heap.
В моделях small и medium размер сегмента данных
вычисляется следующим образом:
data segment [small,medium] = global data +
heap + stack
где размер стека может быть получен по _stklen.
Если _heaplen установлен в 0, то программа выде-
ляет 64Кбайт для сегмента данных, и действитель-
ный размер heap равен:
64К - (global data + stack) байт
По умолчанию _heaplen равен 0, так что вам выде-
ляется сегмент данных 64К, пока вы не укажете
другое значение _heaplen.
В модели tiny все (включая код) находится в одном
сегменте, поэтому в сегмент данных включается код
и 256 байт для PSP.
data segment [tiny] = 256 + code + global data +
heap + stack
Если _heaplen равен 0 в модели tiny, то действи-
тельный размер heap получается вычитанием PSP,
кода, глобальных данных и стека из 64К.
В моделях compact и large не существует локально-
го heap, поэтому сегмент данных равен
data segment [compact,large] = global data +
stack
В модели huge стек является отдельным сегментом,
а каждый модуль имеет собственный сегмент данных.
Смотрите также _stklen