Come da titolo, stavo provando a svolgere questo esercizio; mi sono bloccato sulla stampa dell'ultimo bit dopo la divisione...

Il codice in pratica mi stampa solo i primi tre bit (se ad esempio voglio convertire il n.10) e poi ovviamente devo capire come scrivere il numero in base due al contrario

Grazie

# Scrivere un programma che, preso un numero decimale da tastiera, 
# ne stampi la rappresentazione in base 2 e in base 16.

.data
	title: 			.asciz "\n *** CONVERSIONE NUMERO DECIMALE ***\n"
	base_two:	.asciz "\n *** IN BASE 2 ***"
	base_exa:	.asciz "\n *** IN BASE 16 ***"
	in_num:		.asciz " Digita un numero: "
	out_num2:	.asciz " Rappresentazione in base 2 --> "
	
	msg_rest:		.asciz "\n Il resto è: "

.text
.globl _main
_main:
	la a0, title
	li a7, 4
	ecall
	
	li t2, 2
	li t3, 1
	
	la a0, in_num
	li a7, 4
	ecall
	li a7, 5
	ecall
	mv t0, a0
loop:
	beq t3, t0, end
	rem t1, t0, t2			# Considero il resto della divisione
	div t0, t0, t2				# Considero il quoziente
# Test per il resto
	la a0, msg_rest
	li a7, 4
	ecall
	mv a0, t1
	li a7, 1
	ecall
	j loop
	
end:
# Fine del programma #
	li a7, 10
	ecall