我是学生并学习mips ..我写的是在qtspim模拟,但它不起作用。 QtSpim说指令在la $ s0,$ arr引用未定义的符号,但我不知道为什么。 你能修复我的mips代码吗? ++ 谢谢。我将$ arr修复为$ arr。 但是当我模拟它时,它在控制台上看不到任何东西。 你知道为什么吗?
.text
.globl main
main:
addi $sp, $sp, -4
sw $ra, 0($sp)
la $s0, arr --- was la $0, $arr
addi $s1, $zero, 5
add $a0, $zero, $s0
li $v0, 4
la $a1, msg1
syscall
move $t0, $zero
L1 : sll $t1, $t0, 2
add $t2, $a0, $t1
li $v0, 5
syscall
move $t2,$v0
.data
msg1 : .asciiz "input 5 numbers"
arr : .word 0,0,0,0,0
答案 0 :(得分:3)
arr
是变量,而不是寄存器,因此您应删除$
。也就是说,写:
la $s0, arr
而不是
la $s0, $arr