mips-gcc生成的MIPS汇编代码几乎(但不是完全)运行在Mars MIPS模拟器上。例如:
此外,生成的程序集还没有完全设置好,因此无法正确启动和停止(即,末尾没有sycall 10)。
这些问题似乎都可以通过简单的脚本轻松解决。但是,在我重新发明轮子之前,我想知道:(1)是否有任何gcc标志将使其中的一些问题消失?(2)是否有人知道可以修复mips-gcc输出以使其在火星上运行的现有程序?
(FWIW,我在gcc 3.3.6和4.6.1上看到相同的行为。)
我想知道这个陈述背后的逻辑,证据.对于任何x,C表达式-x,~x + 1和〜(x-1)都产生相同的结果.我可以证明这对于具体的例子是正确的.我认为证明这一点的方法与两个补码的属性有关.有任何想法吗?