#**************************************Originariamente inviato da ant_alt
certo che non concatena, dove hai visto che ho valutato questo?
se mi dici qual è l'istruzione che stampa aggiusto il codice
devi stampare $t3 prima dell'istruzione add $t1,$t3 $0
#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
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 $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
nel registro s1 dove c'è il resto le cifre binarie appaiono...però ogni volta che fa la divisione li sostituisce...invece io dovrei tipo concatenare i valori...e stamparli a video una volta finito