qtspim неизвестный системный вызов: 40? - PullRequest
0 голосов
/ 15 октября 2019

, когда я пытался запустить этот код, всплыли два окна с сообщением

неизвестный системный вызов: 40

и

неизвестносистемный вызов: 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

1 Ответ

2 голосов
/ 15 октября 2019

Spim - это ограниченное количество системных вызовов: http://students.cs.tamu.edu/tanzir/csce350/reference/syscalls.html, поэтому при использовании spim использование чего-либо вне их не будет работать.

У симулятора mars больше вызовов: http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html с 40 и 42 системными вызовами среди них.

Так что, если вы хотите использовать эти системные вызовы, вы должны использовать симулятор mars.

...