【发布时间】:2019-08-03 10:55:28
【问题描述】:
您好,所以我对整个 MIPS 汇编代码是全新的,并且正在尝试使用在线帮助资源自学。我可以理解它的某些部分以及它是如何工作的。我现在需要解决的问题是
int A[50], B[50];
for (i=1; i < 50; i++) {
A[i] = A[i] + B[i-1] / A[i-1];
}
如果希望扩展我的知识,我们将非常感谢一些提示和指示。我已经尝试过那些在线的东西,但似乎对我学习没有帮助。
【问题讨论】:
-
我已经尝试过那些在线的东西,但似乎对我学习没有帮助 - 那么你期望在这里得到什么? “在线事物”是指一些在线 c-to-mips 翻译器?
-
您可以查看编译器如何将您的代码转换为程序集。不要忘记关闭优化,否则任何编译器都会优化你的代码)
-
@EugeneSh。是的,c-mips。在不寻找某人为我做这件事时,有些人对这个(我)是新手,所以我认为不需要这种态度。只是在寻找我最好的选择
-
查看编译器输出通常是最好的选择。 @ForceBru:这里没有太多需要优化的地方,
-O0代码真的很吵而且很难理解(充满了存储/重新加载)。来自 gcc(用于 MIPS II)和 clang(用于 MIPS32r6)的godbolt.org/z/RbYSsR 非常合理。teq是一个捕获除以零的陷阱。如果针对基线 MIPS I,它使用break指令上的条件分支。