如何将多个已保存的值寄存器加载到要在函数中使用的参数寄存器?

时间:2018-02-13 20:06:32

标签: parameter-passing mips qtspim

我试图获取三个整数的用户输入并将它们传递给函数fme,它应该返回x ^ k mod n。当试图将保存寄存器的输入加载到参数寄存器以运行该函数时,我得到错误:

  

spim :(解析器)语法错误在文件C的第38行:/ Users / tamar / OneDrive / Documents / MIPS Projects / project2.s     lw $ a0,$ s0

对于我如何执行此操作的任何建议表示赞赏。这是我的主要内容。

main:
li $v0, 4
la $a0, out_string_x
syscall #print string (X)

li $v0, 5
syscall
move $s0, $v0 #take user input

li $v0, 4
la $a0, out_string_x
syscall #print string (K)

li $v0, 5
syscall
move $s1, $v0 #take user input

li $v0, 4
la $a0, out_string_x
syscall #print string (N)

li $v0, 5
syscall
move $s2, $v0 #take user input

#call fme function
lw $a0, $s0
lw $a1, $s1
lw $a2, $s2
jal fme
sw $v0, answer

#Display result
li $v0, 4
la $a0, result_message
syscall

li $v0, 1
lw $a0, answer
syscall

#end program
li $v0, 10
syscall

0 个答案:

没有答案