我正在尝试编写一个处理数组并在数据段中打印最大值的汇编代码。这就是我所做的:
.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中的最大数字,但它不起作用。任何帮助表示赞赏。