SPIM Esercizi
Esercizio 1 – il comando li Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
Esercizio 2 – operatori aritmetici Il codice deve: mettere un valore immediato in s0 e uno in s1 sommare s0 e s1 e mettere il risultato in s2 sommare il valore di s3 ad un numero a vostra scelta e metterne il risultato in s4 sottrarre il valore di s3 ad s1 e mettere il risultato in s5 mettere in s6 il risultato della moltiplicazione di s0 per s1
Esercizio 4 – Operazioni di comparazione Il codice deve: mettere un valore immediato in s0 e uno in s1 comparare s0 e s1 e mettere il risultato (1 se s0<s1) in s2 comparare s0 e un valore immediato e mettere il risultato (1 se s0<val.imm.) in s3 comparare s0 e s1 e mettere il risultato (1 se s0=s1) in s4 comparare s0 e s1 e mettere il risultato (1 se s0>s1) in s5
Esercizio 5 – branch & jump Il codice deve: mettere dei valori immediati in s0 e s1, saltare a 'maggiore se s0>s1 saltare a 'minore se s0<s1 saltare a 'uguale se s0=s1 saltare incondizionatamente a 'fine' le porzioni di codice definite da queste ultime etichette devono: maggiore - mettere il valore immediato 1 in s2, saltare inc. a 'fine' minore - mettere il valore immediato 2 in s2, saltare inc. a 'fine' uguale - mettere il valore immediato 0 in s2, saltare inc. a 'fine' fine - eseguire un nop (deve essere l'ultima etichetta) provare a cambiare i valori di s0 e s1 per verificare la corretta esecuzione del programma
Esercizio 6 – la, lw e la gestione della memoria Il codice deve: allocare in memoria tre interi: i primi due direttamente nel codice (.word) definiti da altrettante etichette (es. parametro_0 ecc), il terzo utilizzando i menù di PCSPIM mettere in t0 il valore immediato 4 mettere in s0 il valore immediato 0x con il comando la: mettere in s1 l'indirizzo 0x mettere in s2 l'indirizzo ($s0) mettere in s3 l'indirizzo 4($s0) mettere in s4 l'indirizzo del parametro_1 mettere in s5 l'indirizzo del parametro_0 + 4 mettere in s6 l'indirizzo del parametro_0 + 4 ($t0) con il comando lw eseguire le stesse operazioni di la (ma al posto dell'indirizzo questa volta avremo il dato contenuto a quell'indirizzo) eseguire le istruzioni passo per passo per verificare la corretta esecuzione del programma