望各位帮忙看看,现在就想要答案,蟹蟹各位潜水专家,感谢解答,感谢回答,感谢解答。编写一个 MIPS 汇编程序,相当于这个 C 程序:在原有的基础上完成这个程序。我需要答案,我想要的是直接把代码告诉我
// Sieve of Eratosthenes
// https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
#include <stdio.h>
#include <stdint.h>
uint8_t prime[1000];
int main(void) {
int i = 0;
while (i < 1000) {
prime[i] = 1;
i++;
}
i = 2;
while (i < 1000) {
if (prime[i]) {
printf("%d\n", i);
int j = 2 * i;
while (j < 1000) {
prime[j] = 0;
j = j + i;
}
}
i++;
}
return 0;
}
# Sieve of Eratosthenes
# https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
main:
# PUT YOUR CODE
li $v0, 0 # return 0
jr $31
.data
prime:
.space 1000
请不要直接索要答案,类似的问答看到你发过好多次了,1分解c循环体内操作为叶过程,对所有叶过程分配保存寄存器,和过程代码编制。2sd加载参数到保存寄存器。3 li 设置外循环入口条件和跳转标识。4编写内循环跳转标识和叶过程代码。5注意现代编译器会自行优化数组操作为指针操作以达到优化的目的,指针操作使用参数传递和调用叶程序操作寄存器值实现(mv 指针完成传递)。6设置内循环和外循环的结束标识位置。7 ld恢复寄存器值,释放sp。8sp链接x0寄存器完成过程返回。