MIPS中的数组并找到最大值

时间:2017-08-05 13:38:26

标签: arrays assembly mips

我正在尝试编写一个处理数组并在数据段中打印最大值的汇编代码。这就是我所做的:

.data
lst:    .word 2,5,1,3,7,0,6
i:    .word 0                  #counter? for iterating over the lst in order to find the bigger value

.text
loop:
lw $t0, lst
lw $t0, 0($s0)     #first of all,setting the first value in lst to be max value? 
addi $t1,$0,1       #increase the counter by 1
li $t1, 0         #index of array

loop2:
lw $t0, 0($s0)
bgt $t1, $s0, isMax      #if next val is greater than val at $s0, branch to isMax
addi $t1,$t1, 1       #increase counter
j loop2

isMax:
li $v0,1
la $a0, ($s0)       #prints the max value
syscall
j endloop

endloop:
li $v0,10
syscall

我刚刚开始学习MIPS程序集,我可以说我现在对它不是很熟悉。

右边,它应该打印7,因为它是lst中的最大数字,但它不起作用。任何帮助表示赞赏。

0 个答案:

没有答案