Статическое распределение и распределение стека в дизайне компилятора

Я не ясно о том, было ли статическое и стек размещения? Является ли статическое распределение статическим и динамическое распределение стека? Тогда к чему относится распределение кучи?

Как с этим связана запись активации? Я думал, что запись активации является концептуальной вещью, такой как дерево активации, и не имеет физического существования.

Что означает следующий целевой машинный код?

статическое распределение:

ST callee. staticArea , #here + 20
BR callee. codeArea

распределение стека:

LD SP , #stackStart
code for the first procedure
HALT
ADD SP , SP , #caller. recordSize
ST *SP , #here + 16
BR callee. codeArea

BR *O (SP) // return to caller
SUB SP , SP , #caller. recordSize // decrement stack pointer

0 ответов

Другие вопросы по тегам