在堆栈框架中推送返回值

ms1*_*123 4 assembly stack machine-code cpu-registers stack-frame

我想知道在堆栈框架中推送函数的返回值是否有意义.

我知道返回值主要存储在寄存器中(ecc用于gcc),但它仅用于性能吗?

谢谢!

ami*_*mit 9

这是有道理的,但必须手动插入(而不是简单推送).它的'space'应该由调用者'分配'(它必须在调用函数之前减少sp),因为当你从函数返回时 - 返回地址必须位于栈的顶部,所以返回值应该是在返回地址下面.[与在堆栈上传递参数的原理相同]