7

mips-gcc 生成的 MIPS 汇编代码几乎(但不完全)在 Mars MIPS 模拟器上运行。例如:

  • 编译器生成“j $31”而不是“jr $31”
  • 编译器将 .align 指令放在文本段中,Mars 不允许这样做。

此外,生成的程序集还没有完全设置好,无法正常启动和停止(即最后没有 sycall 10)。

这些问题似乎都可以通过简单的脚本轻松解决;但是,在我重新发明轮子之前,我想知道:(1)是否有任何 gcc 标志可以使这些问题中的一些消失?(2) 有没有人知道现有的程序可以修复 mips-gcc 输出,以便在火星上运行?

(FWIW,我在 gcc 3.3.6 和 4.6.1 上都看到了相同的行为。)

4

0 回答 0