Sto lavorando su un piccolo mini compilatore mentre cerco di imparare alcuni MIPS qui. Ecco il mio problema:MIPS (o SPIM): caricamento di numeri in virgola mobile
MIPS ha una Li istruzioni (carico immediato), che avrebbe funzionato come questo
li $5,100
che caricare 100 nel registro 5.
Tuttavia, ho bisogno di caricare carri nei registri in questo momento e sto lottando con l'idea di un modo per farlo ... dato che li $ 5,2.5 non funziona.
Qualcuno ha qualche consiglio?
Sto lavorando in C, stavo pensando che potrei in qualche modo ottenere la rappresentazione intera del float con cui sto lavorando (vale a dire la rappresentazione binaria float == la rappresentazione binaria ints) quindi caricare il "numero intero" nel registro e trattalo come un galleggiante da quel momento in poi.
Forse è troppo tardi ma sono bloccato in questo momento.
Grazie, questo ha fatto il trucco. Probabilmente dovrei colpire il fieno se mi manchi questo. Buonanotte. – James
Sembra una pseudoistruzione. Come potrei effettivamente farlo? (MARS non supporta li.s). L'unica cosa che posso pensare è di caricare 25 in $ t0, caricare 10 in $ t1, convertire ciascuno in float e quindi dividere. –