qtspim 未知系统调用:40?

qtspim unknown system call: 40?

当我尝试 运行 这段代码时,两个 windows 弹出并说

unknown system call: 40

unknown system call: 42

我怀疑这与系统调用本身无关,但我也不确定。这是我第一次使用 MIPS 汇编语言编写,所以如果我在下面的代码中有任何不正确的地方,请告诉我。

.data

line1:    .asciiz     "Enter a maximum number"
line2:    .asciiz     "Enter a seed"
line3:    .asciiz     "Enter a guess"
line4:    .asciiz     "NO"
line5:    .asciiz     "YES"

.text
.globl main



main:

li $v0, 4
la $a0, line1        
syscall                        # output line 1

li $v0, 5                   
syscall

move $s0, $v0        # User input moved to s0



li $v0, 4
la $a0, line2                # output line 2     
syscall

li $v0, 5   
syscall    

move $s1, $v0    # User input moved to s1




li $v0, 40         # Creating a seed for the random number generator with user input
add $a0, $zero, 0       
add $a1, $zero, $s0
syscall




li $v0, 42         # Creating the random number generator with user input
add $a0, $zero, 0 
add $a1, $zero, $s1
syscall

move $s2, $a1  




li $v0, 1
move $a0, $s2
syscall


li $v0, 10
syscall

spim是有限数量的系统调用: http://students.cs.tamu.edu/tanzir/csce350/reference/syscalls.html 所以当使用 spim 时,使用它们之外的任何东西都不起作用。

火星模拟器调用较多: http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html 其中包括 40 和 42 个系统调用。

所以如果你想使用那些系统调用,你必须使用火星模拟器。