#--------------| # spim -file paridispiari.asm # input: da array(modificare array x altre verifiche) | output: numero pari o dispari # data:18/06/03 # kraba # codice sotto licenza "fanne quel che vuoi...tanto e` inutile:D" # +-+-+-+-+ +-+-+-+-+ # |m|i|p|s| |c|o|d|e| # +-+-+-+-+ +-+-+-+-+ #--------------| .data array: .word 4,2,2,1,6 #array int a[5] (a[1]=3, a[2]=7 etc etc) annuncio: .asciiz "\nIl risultato e' " .text main: addi $sp,$sp,-4 sw $ra,0($sp) add $s0,$zero,$zero add $s2,$zero,$zero addi $t2,$zero,2 addi $v0,$zero,1 la $a0,array ciclo: lw $s0,0($a0) jal pariodispari add $s2,$s2,$s1 slti $v1,$v0,5 beq $v1,$zero,esci addi $v0,$v0,1 addi $a0,$a0,4 j ciclo esci: addi $v0,$zero,4 la $a0,annuncio syscall addi $v0,$zero,1 add $a0,$zero,$s2 syscall lw $ra,0($sp) addi $sp,$sp,4 pariodispari: div $s0 ,$t2 mfhi $t0 slt $s1,$zero,$t0 jr $ra lw $ra,0($sp) addi $sp,$sp,4 jr $ra #fine