ciao
ci ho ragionato un pochino sopra sfruttando i vostri preziosi consigli ( vi ringrazio per la disponibilità e la passione con cui avete risposto);
ed ecco cio' che ho partorito:
codice:
##ALGORITMO DIVISIONE

#regola per arrotondamento: SE IL RESTO E' MAGGIORE DELLA META' DEL DIVISORE, AGGIUNGI UNO
#AL QUOZIENTE

#$LO:contiene il risultato(quoziente);
#$HI:contiene il resto
		.data
dividendo:	.asciiz "Inserisci dividendo: "
divisore:	.asciiz "Inserisci divisore: "
risultato: 	.asciiz "Il risultato è: "

		.text
	.globl __start
	.globl arrot
	.globl exit

__start:				##ACQUISIZIONE DATI
	li $v0, 4
	la, $a0, dividendo
	syscall	
	li $v0, 5
	syscall 			#dividendo
	move $t0, $v0
	li $v0, 4
	la, $a0, divisore
	syscall
	li $v0, 5
	syscall				#divisore
	move $t1, $v0
	div $s0, $t0, $t1		#quoziente

	mfhi $t9			#copio il resto in $t9
	div $s1, $t1, 2			#metà del divisore
	slt $t2, $t9, $s1		#$t2=1 se resto è minore della metà del divisore;0 altrimenti
	bne $t2, $zero, exit	
arrot:
	addi $s0, $s0, 1
	j exit				#incremento il quoziente di uno 

exit:	
	li $v0, 4
	la $a0, risultato
	syscall
	move $a0, $s0
	li $v0, 1
	syscall
	li $v0, 10
	syscall
Il programma funziona bene su spim, nonostante a volte venga approssimata per eccesso anche una divisione il cui quoziente è del tipo x,4 .
Ovviamente esisterà un maniera più compatta per esprimere un corretto arrotondamento.
Mi piacerebbe sentire il parere di qualche utente più esperto.
Grazie ancora a tutti