如何从用户中读取10个Intiger并将其存储在数组中?然后取这些整数的总和?在MIPS中

时间:2019-05-05 03:00:20

标签: mips

基本上,我需要从用户那里存储10个整数,并打印它们的总和。我的问题是我的总和始终为零。我认为问题是我没有正确加载数组。

感谢您的帮助。

.text

main:

readLoop:
    beq $t0, 40, sum   #branch if equal to 40, 10 items
    li $v0, 4       #Print string
    la $a0, prompt1        #load prompt
    syscall
    li $v0, 5       #read int
    syscall 
    sw $v0, myarray       #store input in array 
    addi  $t0, $t0, 4   #add by 4 to count
    j readLoop

sum: 
    beq $t0, 40, printsum
    lw $t1,myarray($t0)
    addi $t0, $t0, 4 
    j sum

printsum:
    la $a0,result
    li $v0,4
    syscall
    move $a0,$v1
    li $v0,1
    syscall

exit:
      li $v0,10
      syscall

.data 

myarray: .space 40
result: .asciiz "The result is "
prompt1: .asciiz "Enter elements in the array: "

0 个答案:

没有答案