Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να Διαβάστε εισόδου από 2D Array σε MIPS

Η συμβολική γλώσσα MIPS χρησιμοποιεί γραμμές κώδικα , να αναθέσει υπολογιστές . Παρόμοια με την γλώσσα μηχανής , μία γραμμή κώδικα MIPS μεταφράζεται σε ένα ενιαίο , αδιαίρετο οδηγίες για μια κεντρική μονάδα επεξεργασίας . Ωστόσο, ο κώδικας της μηχανής χρησιμοποιεί δεκαεξαδική και άλλες δομές , οι οποίες μπορεί να είναι δύσκολο να καταλάβουμε με μια ματιά . Συνέλευση γλώσσα είναι πολύ πιο άμεσα προσβάσιμες . Τόσο η γλώσσα μηχανής και συμβολική γλώσσα έχουν παιχνιδάκια τους, ωστόσο . Στην MIPS , πίνακες δεδομένων είναι συνεχόμενα λίστες τιμών . Η προσθήκη επιπλέον διαστάσεις μεταβάλλει αυτό μόνο σε ένα μικρό δρόμο . Δημιουργεί ένα συνεχόμενο κατάλογο συστοιχίες 1D . Κατανοώντας αυτή την ιδέα είναι ένα ζωτικής σημασίας βήμα για την ανάγνωση τιμών από συστοιχίες 2D . Οδηγίες
Η 1

Προσδιορίστε τη θέση του επιθυμητού στοιχείου . Διακρίνουμε τη σειρά και τον αριθμό της στήλης . Για παράδειγμα , σκεφτείτε τον πίνακα :

[ 3 ] [ 4 ] [ 3 ] [ 2 ] [ 1 ] [ 2 ] [ 5 ] [ 6 ] [ 5 ] [ 2 ] [ 9 ] [ 3 ] [ ,"Gia parádeigma , skefteíte ton pínaka :̱

[ 3 ] [ 4 ] [ 3 ] [ 2 ] [ 1 ] [ 2 ] [ 5 ] [ 6 ] [ 5 ] [ 2 ] [ 9 ] [ 3 ] [ 1 ] [ 7 ] [ 9 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 5 ] [ 6 ] [ 5 ] [ 6 ] [ 5 ]

Αυτή 2D συστοιχία είναι μια σειρά πέντε γραμμές και πέντε στήλες . Αν το επιθυμητό στοιχείο είναι η τιμή πιο κεντρική στη συστοιχία , έχει συντεταγμένες γραμμή 3 , στήλη 3 . 2

Ξαναγράψτε τον πίνακα 2D ως 1D array . Κωδικός Συνέλευση δεν αναγνωρίζει επαναφοράς σε συστοιχίες 2D . Αντ 'αυτού , συγκεντρώνει τα δεδομένα ως 1D σειρά συστοιχίες 1D , ξεκινώντας σε μία διεύθυνση βάσης και τελειώνει σε [ διεύθυνση βάσης + σειρές * στήλες] . Για να συνεχίσετε το παράδειγμα , το 2D array γίνεται :

[ 3 ] [ 4 ] [ 3 ] [ 2 ] [ 1 ] [ 2 ] [ 5 ] [ 6 ] [ 5 ] [ 2 ] [ 9 ] [ ,"Gia na synechísete to parádeigma , to 2D array gínetai :̱

[ 3 ] [ 4 ] [ 3 ] [ 2 ] [ 1 ] [ 2 ] [ 5 ] [ 6 ] [ 5 ] [ 2 ] [ 9 ] [ 3 ] [ 1 ] [ 7 ] [ 9 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 5 ] [ 6 ] [ 5 ] [ 6 ] [ 5 ]

Οι 25 τιμές σε αυτό το array αντιστοιχούν στις παραπάνω πέντε γραμμές και πέντε στήλες .
εικόνων 3

Αφαίρεση ενός από τον αριθμό σειράς του ενδιαφέροντος . Πολλαπλασιάστε αυτό τον τροποποιημένο αριθμό σειράς με το συνολικό αριθμό των στηλών . Προσθέστε την τιμή για τη στήλη των τόκων . Πολλαπλασιάστε με τον αριθμό των bytes που διατίθενται για κάθε στοιχείο . Στο παράδειγμα , κάθε σειρά έχει πέντε στήλες . Η θέση του ακεραίου ( 4 bytes ) στη γραμμή 3 , στήλη 3 είναι : [ ( 2 * 5 ) + 3 ] * 4 = 52 . Σε συμβολική γλώσσα , αυτό είναι γραμμένο : . Διεύθυνση βάσης + ( γραμμή * NUM_COLUMNS ) + col
Η 4

Γράψτε μια εντολή χρησιμοποιώντας την εντολή φορτίου άμεση αξία , ή li , να διαβάσετε αυτήν την τιμή σε μια μεταβλητή . Για να ολοκληρώσει το παράδειγμα, να ορίσετε μια μεταβλητή ( fini1 ) ίσο με το στοιχείο στην θέση που προσδιορίσατε byte . Σε συμβολική γλώσσα , αυτό εμφανίζεται ως εξής: . Li fini1 ( 52 )
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα