gpt4 book ai didi

c++ - 如何向 MIPS 中的函数添加 4 个以上的参数?

转载 作者:行者123 更新时间:2023-11-28 01:34:17 25 4
gpt4 key购买 nike

好吧,我来翻译这段C++代码

funcArr2(12, a2, a3, a4, used1, used2, &used3, &used4);

到目前为止,我已经能够翻译 a1-a4 了

        li $a0, 12
addi $a1, $sp, 280
addi $a2, $sp, 328
addi $a3, $sp, 376
**missing code for arguments 5-8**
jal funcArr2

但是,我完全不知道如何继续添加其他参数,我模糊地记得必须将它保存在堆栈中,但我不记得这样做的代码。

最佳答案

你很幸运,Raymond Chen最近一直在写关于这个的博客(至少对于 NT),并详细介绍了这个主题。

在一些 MIPS 调用约定中,至少在 Linux 和 NT 中,函数总是在堆栈上获得 16 个字节的“主空间”,即使它们接受少于 4 个寄存器参数。第 5 个和后面的整数 arg 在栈上高于它。

关于c++ - 如何向 MIPS 中的函数添加 4 个以上的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50011688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com