Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #N-esimo valore di un array
- .text
- .globl main
- main:
- add $v0, $zero, $zero
- lw $s0, LEN #load N
- la $s1, BASE #load address
- la $t3, BASE
- addi $s2,$s2,0 #contatore ciclo loop
- addi $s3,$s3,0 #contatore ciclo loop_max
- loop_max: #loop per trovare il valore x(n)
- beq $s3,$s0,loop #uscita al loop al momento di fine ciclo
- lw $t4, 0($t3) #accesso all'array
- addi $t3, $t3, 4 #$s1: indice del prossimo elemento
- addi $s3, $s3, 1 #incremento contatore ciclo
- j loop_max
- loop: #loop per verificare la condizione
- beq $s2,$s0,exit #uscita se true
- lw $t1, 0($s1) #accesso all'array
- bgt $t1,$t4,error #condizione error
- addi $s1, $s1, 4 #$s1: indice del prossimo elemento
- addi $s2, $s2, 1 #incremento contatore ciclo
- j loop
- exit:
- li $v0,4 # codice per print_string
- la $a0, stringa # indirizzo stringa
- syscall # chiamata di sistema
- add $v0, $zero, $zero #inizializzo $v0
- addi $v0, $v0, 1 #le assegno il valore 1
- jr $ra #return
- error: li $v0,4 # codice per print_string
- la $a0, stringa_error # indirizzo stringa
- syscall # chiamata di sistema
- add $v0, $zero, $zero
- jr $ra
- .data
- LEN: .byte 5
- BASE: .word 1 2 4 8 5
- stringa: .asciiz "La condizione è verificata, tutti gli elementi di BASE sono minori o uguali di x(N)"
- stringa_error: .asciiz "La condizione non è verificata, uno o più elementi di BASE sono maggiori di x(N)"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement