Я изучаю язык ассемблера и использую mips. Мой код работает нормально, но не останавливается, когда массив завершен
Это мой код. Можете ли вы сказать мне, что является правильным условием (в B:), чтобы остановить программу и перейти к существованию?
.data
A: .word 12,31,5,72,4
E: .byte
.text
la $t1,A # t1 is the min
lw $s1,A
la $t2,E
subu $t5,$t2,$t1 # t5 to know the location of the last value and decreses it
move $t6,$t1
move $t3,$t1 #adress of next value
srl $t4,$t5,2
addi $t7,$t4,0
outerloop:
#addiu $t1,$t1,4
x:
addiu $t3,$t3,4
lw $s2,0($t3)
bleu $s1,$s2,B
move $t6,$t3
lw $s6,0($t6)
subiu $t5,$t5,4
B: j x
exit:
li $v0,10
syscall