2013-04-04 4 views
1

Я следующий код в моей программепечать сообщение в трудоемкости

li $v1, 4    #system call code for Print String 
la $a0, LC    #load address of message into $a0 
syscall    #print the string 
li $v1, 1    #system call code for Print Integer 
move $a0, $v0   #move value to be printed to $a0 
syscall    #print result 

и

.rdata 
LC: .asciiz "The factorial of 10 is : " 

, но когда я пытаюсь использовать его в трудоемкости он говорит:

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

, где 3628800 - результат, который я хочу распечатать!

Что происходит не так? Могу ли я использовать jal printf и как его написать? Заранее спасибо

ответ

1

Номер системного вызова переводится в $v0, а не $v1.

+0

спасибо, я новичок в сборке и mips, поэтому я не знал, что нам нужен конкретный реестр. Любая идея об использовании printf ??? – Controller