MIPS 有编码约定吗?

Is there a coding convention to MIPS?

我想链接一个 C 编译器。

没有正确的方法,汇编语言可以为所欲为。

但是,如果您尝试 link 使用 C 编译器,那么为什么不尝试使用现有的编译器呢?它显然可以创建 link 与同一编译器创建的其他对象的对象。

extern unsigned int more_fun ( unsigned int a, unsigned int b );
unsigned int fun ( unsigned int a, unsigned int b )
{
    unsigned int c;
    c = more_fun(a,b+7);
    return(c+a+5);
}

这是我的产品(带有某些标志),对象不是 linked...

00000000 <fun>:
   0:   27bdffe8    addiu   sp,sp,-24
   4:   24a50007    addiu   a1,a1,7
   8:   afbf0014    sw  ra,20(sp)
   c:   afb00010    sw  s0,16(sp)
  10:   0c000000    jal 0 <fun>
  14:   00808025    move    s0,a0
  18:   8fbf0014    lw  ra,20(sp)
  1c:   26100005    addiu   s0,s0,5
  20:   02021021    addu    v0,s0,v0
  24:   8fb00010    lw  s0,16(sp)
  28:   03e00008    jr  ra
  2c:   27bd0018    addiu   sp,sp,24

我认为这很清楚,并为您提供了一种方法来计算更复杂的参数或 return 值。我更喜欢编译和反汇编编译到汇编。更容易阅读并实际看到生成的内容。 YMMV.