望各位帮忙看看,现在就想要答案,蟹蟹各位潜水专家,感谢解答,感谢回答,感谢解答。编写一个 MIPS 汇编程序,相当于这个 C 程序:在原有的基础上完成这个程序。我需要答案,我想要的是直接把代码告诉我
#include <stdio.h>
int numbers[10];
int main(void) {
int x, i, n_seen;
n_seen = 0;
while (n_seen < 10) {
printf("Enter number: ");
scanf("%d", &x);
i = 0;
while (i < n_seen) {
if (x == numbers[i]) {
break;
}
i++;
}
if (i == n_seen) {
numbers[n_seen] = x;
n_seen++;
}
}
printf("10th different number was %d\n", x);
return 0;
}
# x in register $t0
# i in register $t1
# n_seen in register $t2
# registers $t3 and $t4 used to hold temporary results
main:
li $t2, 0 # n_seen = 0;
start:
bge $t2, 10, end # while (n_seen < 10) {
la $a0, string0 # printf("Enter a number: ");
li $v0, 4
syscall
li $v0, 5 # scanf("%d", &x);
syscall
move $t0, $v0
mul $t3, $t2, 4 # calculate &numbers[n_seen]
la $t4, numbers #
add $t3, $t3, $t4 #
sw $t0, ($t3) # numbers[n_seen] = x
addi $t2, $t2, 1 # n_seen++;
j start
end:
la $a0, string1 # printf("10th different number was: ");
li $v0, 4
syscall
move $a0, $t0 # printf("%d", x)
li $v0, 1
syscall
li $a0, '\n' # printf("%c", '\n');
li $v0, 11
syscall
li $v0, 0 # return 0
jr $ra
.data
numbers:
.space 40 # int numbers[10];
string0:
.asciiz "Enter a number: "
string1:
.asciiz "10th different number was: "
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。