Цитата Сообщение от alone Посмотреть сообщение
А параметры где будут храниться? Представьте, что процедура A вызывает процедуру B, а та процедуру C.
Параметры в стеке - такие же данные как и те что лежат на heap-е ПО СУТИ! (понятно что стек аппаратно поддержан в CPU но в нашем случае это не важно так как речь идет об НАШЕЙ VM в которой можно отказаться от стека). Так что параметры можно передавать либо в регистрах либо через heap.

DATA& param = new DATA(); // выделить на heap место для param, param при этом указатель

procA {
procB(param); // param идет либо в регистре либо как в FORTH-e следующим за "словом" (УКАЗАТЕЛЬ КОМАНДЫ+1)
}
procB(DATA& param) {
procC(param);
}

procС(DATA& param) { }