PROBLEMA Problema con un programma in Assembly

Liliana Giacalone

Nuovo Utente
1
0
Buonasera a tutti, sono nuova e mi scuso anticipatamente se sto commettendo qualche errore nel fare domande in questo forum.
Riscontro problemi nello svolgere un esercizio in linguaggio Assembly in cui si richiede di verificare se l'array è ordinato in modo crescente o meno. Credo che il programma non riconosca proprio l'array, ma non saprei fare altrimenti. Grazie per il vostro aiuto.

.data
V: .word 1,2,3
msg1: .asciiz "Ordinato"
msg2: .asciiz "Non ordinato"
.text
.globl main


main:
jal ordine
j exit


ordine:
add $t1, $zero, $zero
add $t2, $zero, $zero
la $t4, V
addiu $t0, $zero, 3


while:
bge $t1, $t0, FINEWHILE
bne $t2, $zero, FINEWHILE


if:
mul $t3, $t1, 4
add $t3, $t4, $t3 #v
lw $t5, 0($t3) #v
lw $t6, 4($t3) #v[i+1]


slt $t7, $t5, $t6
beq $t7, $zero, ELSE
addiu $t2, $zero, 1
j while


ELSE:
addiu $t1, $t1, 1 #i++
j while


FINEWHILE:
addiu $t8, $zero, 1
bne $t2, $t8, else1
li $v0, 4
la $a0, msg1
syscall
j finefunzione


else1:
li $v0, 4
la $a0, msg2
syscall
j finefunzione


finefunzione:
jr $ra


exit:
li $v0, 10
syscall
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!