li $s5, 2
add $a0, $s5, $0
li $v0, 4
syscall
为什么系统输出在spim中是(null)?
答案 0 :(得分:1)
看起来你正在尝试打印一个int,但你提供的系统调用代码代表“打印字符串”。
由于您没有名为2
的标签(因此没有从标签2
的地址开始的字符串),控制台会打印出(null)
。
试试这个
li $a0, 2 #integer to be printed
li $v0, 1 #system call code 1: print_int
syscall
现在它应该打印2
请查看此table以获取系统调用操作码。