Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 5ο Μάθημα
Στο προηγούμενο Είδαμε υλοποίηση των εντολών μεταφοράς Δεδομένων: Load Word lw $rd, m($rx) Store Word sw $rs, m($rx) Είδαμε την υλοποίηση Πινάκων με την βοήθεια των παραπάνω εντολών
Παράδειγμα Φτιάξτε ένα πρόγραμμα που να δέχεται 10 ακεραίους από το πληκτρολόγιό και να μας τυπώνει πίσω το 3ο, 6ο και 8ο στοιχείο του πίνακα. Έστω ότι: Στον $15 μπαίνει ο index register Στον $16 δηλώνουμε το πλήθος των στοιχείων (10) Στον $17 μπαίνει ο μετρητής i , απαραίτητος για branch Στον $18 μπαίνουν οι τιμές του πίνακα Σχεδιάστε σε ένα χαρτί το πώς θα είναι ο πίνακας και πού θα καταχωρηθούν οι τιμές που θα του δώσετε! Χρησιμοποιείστε το πρόγραμμα του περασμένου μαθήματος για βοήθεια!
Πολλαπλασιασμός MIPS Ο πολλαπλασιασμός με τον MIPS επιτυγχάνεται εύκολα με: Την εντολή mul: Συντάσσεται ως: mul $12, $10, $11 Πολλαπλασιάζει το περιεχόμενο του καταχωρητή $10 επί το περιεχόμενο του καταχωρητή $11 και τοποθετεί το αποτέλεσμα στον καταχωρητή $12
Διαίρεση στον MIPS Αντίστοιχα με τον πολλαπλασιασμό, υπάρχει η ανάλογη εντολή διαίρεσης για τον MIPS: div $12, $10, $11 Διαιρεί την τιμή του $10 διά την τιμή του $11 και τοποθετεί το αποτέλεσμα της διαίρεσης στον καταχωρητή $12
Παράδειγμα 2 Φτιάξτε ένα πρόγραμμα που να ζητάει από το πληκτρολόγιο δύο νούμερα “y” και “z” και να τα πολλαπλασιάζει και να τα διαιρεί μεταξύ τους.