2013-10-27 6 views
0

어셈블리 언어를 배우고 있고 mips를 사용하고 있습니다. 내 코드는 정상적으로 작동하지만 배열이 끝나면 멈추지 않습니다.minmum 정수와 그 주소를 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 

답변

0
당신은 배열의 크기를 정의하고 확인 요소의 수를 테스트하거나 배열 (예 : 제로)의 최종 요소를 정의하고, 그 요소가 발생하면 중지해야합니다

.