[Assembly-MIPS]

Pubblicità

Snakethesniper

Utente Attivo
Messaggi
18
Reazioni
0
Punteggio
25
Devo fare un programma in Assembly (basato su architettura MIPS) che converta un numero decimale inserito in un numero binario. Il mio problema sta nel stampare in uscita il numero correttamente convertito. All'inizio salvavo tutti i resti della divisione all'interno dello stack e quando dovevo eseguire la stampa li prelevavo uno alla volta e li stampavo. Invece voglio fare in modo che la stampa avvenga "in un colpo solo" quindi suppongo di dover salvare il numero in un registro e poi stamparlo. Per farlo ho provato a memorizzare man mano i resti prelevati dallo stack in un registro eseguendo ogni volta lo shift di questo. Il problema è ovviamente che eseguendo lo shift semplicemente aumenta il valore del numero,quindi viene fuori un numero decimale X invece che la sequenza binaria. La domanda quindi è, come faccio a far stampare le singole cifre o comunque salvarle in un unico registro per poi stamparle assieme? Grazie

p.s: poi magari l'unico modo è stamparle una alla volta, solo che devo necessariamente utilizzare una procedura ricorsiva e l'unico modo per farlo mi sembra quello di sommare i valori
 
per convertire decimale binario c'è anche il metodo della moltiplicazione.. :sisi:
cmq. se salvi nello stack ogni resto della divisione è un procedimento pò lungo.

prova a settare i bit ottenuti dal resto direttamente nel registro,
mediante una variabile a potenza di 2 (incremento con lo shift)
 
Pubblicità
Pubblicità
Indietro
Top