程序即将完成,我只是遇到一个问题,每次循环时都要将$ v0的值放入数组“intarray”,例如在intarray [0]输入“1”,“2 “在intarray [1]等......
程序通过循环请求5个整数。我需要在5个点中的每个点处将整数设置到inarray中。我不明白如何在MIPS中执行此操作。
我也试图将$ t1的最终值变为变量“total”,但我认为这需要与intarray相同的东西。打印这些阵列也很好。
主要问题是如何取值例如$ t0并将其置于诸如intarray [1]之类的位置。
感谢您的帮助。
以下是代码:
.data
intarray: .word -1, -1, -1, -1, -1
total: .word 0
result: .asciiz "Enter a series of 5 integers, one per line: "
thetot: .asciiz "Your total is: "
.text
main:
li $v0, 4 #call to print string
la $a0, result #print string from location
syscall
li $t0, 0 #set $t0 = i = 0
li $t1, 0 #set $t1 = tot = 0
la $t2, intarray #puts the address of intarray into $t2
loop:
li $v0, 5 #system call code to accept integer
syscall
add $t1, $t1, $v0 #moves integer to $t0
add $t0, $t0, 1
blt $t0, 5, loop #end loop if i<5
li $v0, 4
la $a0, thetot
syscall
li $v0, 1
la $a0, ($t1)
syscall
li $v0, 10 #exits program
syscall