在汇编 mips 64 (winmips64) 中创建一个带有多个参数的 C 函数

making a C function with multiple arguments in assembly mips 64 (winmips64)

我必须使用尽可能少的命令将 C 代码中的此 FIR 滤波器转换为汇编 mips64。如何在汇编 mips64 中使 fir 函数具有超过 4 个参数?我正在使用 winmips64 作为模拟器。我只关心正确声明函数

void fir(int X[], int H[], int Y[], int n, int m)
{
    int i, j;
    int y0;
    
    for (j=0; j<m; j++){
        y0=0;
        for (i=0; i<n; i++){
            y0+=X[i+j]*H[i];
        }
        Y[j]=y0;
     }
}

模拟器本身很可能不关心您的调用约定。

查看您的作业文本和课程作业,了解您应该遵循的官方调用约定。

如果您从 C 调用汇编代码,那么一种方法是编译和反汇编调用者的 C 代码以查看参数是如何传递的,这就是您应该如何接收它们。 (你也可以编译实际功能的C版本。)

I only care about declaring the function correctly

汇编中没有声明函数(函数签名)的概念。 (搜索声明与定义。)在程序集中,只有函数名称以及(调用者和被调用者)对哪个参数的期望 goes/is 其中,这是由适用的调用约定规定的。