May 24
Il "microprocessore senza Fasi Interlocking PipLine", o MIPS, era un processore precoce dal 1980 che contengono 32 registri di uso generale e più registri speciali. È possibile programmare MIPS più o meno allo stesso modo di qualsiasi altra lingua processore, ma si dovrebbe esercitare particolare attenzione nel garantire che si utilizza la memoria in modo efficiente perché MIPS è una parte relativamente piccola del processore. MIPS, spesso utilizzato per l'aritmetica, non include costrutti di programmazione di alto livello, quali interfacce o classi astratte.
1 Creare un file di testo per contenere il codice MIPS.
2 Tipo "principale", seguito da due punti per iniziare un programma di MIPS:
principale:
3 Prefazione commenti in MIPS con un cancelletto.
Questo è un commento
4 Scrivi il nome di una variabile per crearlo, seguito dal cancelletto, due punti, un tipo di dati e un valore. Ad esempio, il seguente codice crea un intero con un valore di 8 denominato "myVariable":
myVariable: .word 8
5 Accesso memoria ad accesso casuale (RAM) utilizzando il "li" e le parole chiave "SW". Digitare il "lw" o parole chiave "LI", il simbolo del dollaro seguito dal numero della destinazione registro e la sua fonte di RAM:
variabile di carico 1 nel registro t2 dalla RAM
Li $ t2, myVariable
memorizzare il contenuto del registro t2 in RAM
sw $ t2, myVariable
I carichi di codice di cui sopra "myVariable" dalla RAM nel registro 2. Poi si prende il valore nel registro 2 e lo sposta di nuovo nella RAM.
6 Scrivi il nome di un operatore aritmetico seguita da numeri di registro da utilizzare nell'esecuzione l'operatore. Il primo indirizzo di memoria riceverà il risultato del calcolo; MIPS utilizza i valori del secondo e terzo per eseguire il calcolo. Il codice seguente aggiunge, divide e moltiplica il contenuto dei registri 2 e 3 e inserisce i risultati nel registro 4:
aggiungere $ t4, $ t2, t3 $
div $ t4, $ t2, t3 $
mult $ t4, $ t2, t3 $
7 Caricare il valore 10 nel registro 0 ed eseguire una chiamata di sistema per terminare il programma.
Li $ v0, 10
syscall