ХАНДЫФАР

Создаёт стековый фрейм (состоящий из пространства для динамического хранения и указателя для процедуры на 1-32 кадра). Первый операнд определяет размер динамического хранилища во фрейме стека (то есть количество байт, динамически выделяемых в стеке для процедуры). Второй операнд задаёт лексический уровень вложенности процедуры (от 0 до 31).

Уровень вложенности определяет количество указателей кадра, которые копируются в "область отображения" нового кадра стека из предыдущего кадра.

________ENTER imm16, 0 - Создаёт фрейм стека для процедуры.
________ENTER imm16, 1 - Создаёт фрейм стека с вложенным указателем для процедуры.

________ENTER imm16, imm8 - Создаёт стековый фрейм с вложенными указателями для процедуры.


Если уровень вложенности равен 0, процессор помещает указатель кадра из регистра BP в стек, копирует текущий указатель стека из регистра SP в регистр BP и загружает регистр SP в текущий стек-значение указателя минус значение в операнде размера. При уровнях вложенности 1 или выше процессор помещает дополнительные указатели кадров в стек, прежде чем корректировать указатель стека. Эти дополнительные указатели кадров предоставляют вызываемой процедуре точки доступа к другим вложенным кадрам в стеке.
Made on
Tilda