Mips 尝试在0x00400028处执行非指令。Qtspim中的错误代码
我必须将此C代码转换为Mips,并在Qtspim上运行代码Mips 尝试在0x00400028处执行非指令。Qtspim中的错误代码,mips,qtspim,Mips,Qtspim,我必须将此C代码转换为Mips,并在Qtspim上运行代码 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int sum = 0; int i; for(i=0; i < 1000; i++) sum = sum + i; printf("sum=%d", sum); return 0; } 此代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
int sum = 0;
int i;
for(i=0; i < 1000; i++)
sum = sum + i;
printf("sum=%d", sum);
return 0;
}
此代码打印正确的值,但仍会导致错误消息。请帮助我正如我对您上一个问题的评论:“您没有添加任何代码来终止程序(例如,系统调用10)。”是的!我成功了。这就是答案。非常感谢你,朋友
#s1:i, t0:flag, s2:sum
.data
.text
.globl main
main:
li $s1, 0
li $s2, 0
Loop:
slt $t0, $s1, 1000
beq $t0, $0, Exit
add $s2, $s2, $s1
addi $s1, $s1, 1
j Loop
Exit:
li $v0, 1
move $a0, $s2
syscall