Можно ли в Win64 ABI использовать зарезервированное пространство стека аргументов для хранилища общего назначения?

Я изучаю сборку x64 в Windows для «развлечения». В документации MSDN для соглашения о вызовах x64 в Windows говорится:

Вызывающий отвечает за выделение пространства для параметров вызываемому объекту и всегда должен выделять достаточно места для четырех параметров регистра, даже если вызываемый не имеет такого количества параметров. Это упрощает поддержку незапрототипированных функций C и функций vararg C / C ++.

Поскольку мои функции не являются функциями без прототипов C или функциями varargs C / C ++, означает ли это, что я всегда могу использовать [rsp + 8 ] до [rsp + 32] (при условии неизмененного значения rsp сразу после вызова) для хранения общего назначения внутри моей функции, например для локальных переменных?

7
задан Trillian 21 August 2011 в 12:45
поделиться