scusa ma forum di ubuntu ti hanno fatto vedere SLL che è la chiave di tutto perchè non l'hai detto?

inoltre non ho ancora capito come stampi..quali sono le istruzioni?

codice:
#**************************************
#Convertire in binario un valore decimale 
#Davide Gangale
#V°A°
#*************************************

#--------------------------->area dati<----------------
.data
mex: .asciiz" il valore convertito e': "
Buffer: .word 54

#------------------------->area programma<--------------

.text
.globl main

main: la $t0,Buffer #caricamento buffer
li $t1,0 #azzeramento registri
li $t2,2
li $s1,0 
li $s2,0
li $t3,0
li $t4,0


lw $t1,($t0) #estrazione valore buffer
loop: div $t1,$t2 #divisione per 2
mfhi $s1 #resto in s1
mflo $t3 #quoziente in t3
beq $t3,$s2 fine #confronto
add $t4 $t4 $s1
sll $t4 $t4 2
add $t1,$t3 $0 #sostituisco il dividendo col quoziente appena ottenuto 
j loop
fine:
lw $a0,($s1)
li $v0,1
syscall 

li $v0,4 #caricamento codice print_string
la $a0,mex #puntatore alla stringa
syscall #chiamata di sistema

li $v0, 1 #codice print_int
move $a0,$t3 
syscall

li $v0,10
syscall
prova così, ma devi stampare $t4