【发布时间】:2013-02-07 06:55:15
【问题描述】:
我需要一点帮助来理解汇编中的一些函数。我可以创建一个简单的函数,它接受一个参数或 2,然后通过将它放在寄存器 %eax 中返回类似数字的东西。我的问题是如何返回列表?我正在创建一个函数,它将搜索可能包含 100 个数字的已定义数据集,并且我需要保持运行特定范围(0-9、10-19、20-29 等)中数字的总数,因此是一个变量对于每个范围。由于寄存器的数量是有限的,我显然必须通过调整堆栈等来为局部变量创造空间。但是,我如何返回所有这些值?我假设您会在 %eax 中返回一个地址,指向这些变量所在的位置,但是由于这些值是本地的并且是在堆栈上创建的,所以我不能访问这些吗?我的意思是我猜你可以,但这与我所知道的关于局部变量及其范围的一切背道而驰。这些值应该放在堆上还是什么?我没有被教过任何涉及组装堆的东西,所以我不知道这是我应该做的还是我不理解什么......?任何帮助表示赞赏。谢谢。
【问题讨论】: