如何使此MIPS程序运行?

时间:2019-01-09 10:22:34

标签: mips

好,所以我有这个程序,但是我不知道如何使它运行良好。 我有一个二维数组,它存储为一维数组。我选择逐列阅读而不是逐行阅读。我必须从每一列中取出最大数量,并将其添加到总和中,然后打印总和。而不是14,而是打印0。

.data

array: .word 2, 1, 3, 2, 3, 2, 4, 6, 8
n: .word 3
m: .word 3
s: .word 0
i: .word 0
max: .word 0
nr: .word 0

.text

主要:

  li $a0, 0
  lw $t2, n 
  lw $t3, m
  mul $t1,$t2,$t3 
  lw $t4, max
  lw $t6, s  
  lw $t0, i
  lw $t7, nr

  pas1:
  bge $t0, $t1, end
  lw $t5, array($t0)
  blt $t4, $t5, pas2
  j pas3

  pas2:
  move $t4, $t5
  addi $t7, $t7, 4

  pas3:
  beq $t7, $t2, pas4
  addi $t0, $t0, 4
  j pas1

  pas4:
  add $t6, $t6, $t4 
  li $t4, 0
  li $t7, 0 
  addi $t0, $t0, 4
  j pas1

  end:  
  li $v0, 1
  la $a0, ($t6)
  syscall

  li $v0,10
  syscall

0 个答案:

没有答案