2017-05-31 92 views
0

这是我第一次编码PCSPIM。我发现我的代码有点麻烦。MIPS:如何将用户输入的整数应用到算术函数中?

.data 

user_input: .asciiz "\n\nEnter an Integer for the value of n: " 
result_display: .asciiz "\nThe sum from 0 to n is "    
Greeting: .asciiz "\n\nThank you!"  

.text 
main: 

#user input 
li $v0, 4 
la $a0, user_input 
syscall 

#allow user input 
li $v0, 5 
syscall 

#store the input value into t8 
move $t8, $v0 

#calculation 
addi $s0, $zero, $t8 

我希望用整数值($ T8),用户输入到#calculation部分,但它与错误结束。

addi $t0, $zero, 0 

loop1: 

add $t0, $t0, $s0 
addi $s0, $s0, -1 
bne $s0, $zero, loop1 
nop 
nop 

# Display the result 
li $v0, 4 
la $a0, result_display 
syscall 

# Print out the result 
li $v0, 1 
move $a0, $t0 
syscall 

# Greets the user 
li $v0, 4 
la $a0, Greeting 
syscall 

# Exit the program 
li $v0, 10 
syscall 

对不起,我蹩脚的英语。

回答

0

错误在于您使用“addi”指令的方式。该指令要求立即(数字)值作为第三操作数传递,而不是架构寄存器。如果您将“addi”指令更新为“addu”,则代码应该起作用。

+0

非常感谢:D –

+0

它真的很有用。言语无法表达我的感激之情:'D –

相关问题