首页 > 解决方案 > 程序集,您可以将函数参数的值移动到 .data 部分吗?

问题描述

我的问题是,是否可以将函数的参数值移动到 .data 部分以“释放”寄存器槽?

例如,如果我有一个名为 int sort(int array[], int length) 的函数,我可以以某种方式将数组的长度作为全局变量放入 .data 部分,以便我可以调用它吗?目前,我所做的是示例

mov edi, [ebp + 12] 

所以我将第二个参数移动到 edi 寄存器中,但是如果我可以释放该寄存器并立即将其用于其他用途,那就太好了。

标签: functionassemblymemoryx86

解决方案


推荐阅读