Προς το περιεχόμενο

όποιος ξέρει λίγο από επεξεργαστή MIPS στην assembly ας απαντήσει


maniac89

Προτεινόμενες αναρτήσεις

Δημοσ.

να ρωτήσω λίγο κάτι

 

ποιές οι διαφορές των καταχωρητών $s0-$s7 και $t0-$t9

μπορώ να τα χρησιμοποιήσω όλα ταυτόχρονα;

δεν πιστεύω να υπάρχει κανένα πρόβλημα!!

ευχαριστώ...

Δημοσ.

στα γρήγορα και είδα ότι δεν παίζει κανένα πρόβλημα άμα προσθέσεις έναν $t0 με έναν $s0!;άμα ξέρεις αν υπάρχει καμιά κατάσταση που πρέπει να χρησιμοποιήσω υποχρωτικά μόνο π.χ. $s0 στείλε!

thanks again!!

Δημοσ.

Aπ αυτα που θυμάμαι ειναι οτι οι $t ειναι οι temporary και οι $s ειναι οι save. ΟΛΑ ειναι θέμα συμβάσεων...Συμβάσεις που αναγκαστικά πρέπει να τηρούνται για να ξέρει ο κάθε προγραμματιστής τι θα κάνεις και να μην γίνεται το μπάχαλο...

 

Οι $t είναι τύπου caller-save, αρα θεωρούνται προσωρινές μέσα σε μία συνάρτηση. Αν καλέσει μία συνάρτηση θα πρέπει να τις σώσει πρώτα στη στοίβα ο caller, η μέθοδος δηλαδή που καλεί μια άλλη συνάρτηση

 

Αντιθέτως οι $s ειναι τύπου calle save, πρέπει να σώζονται, πάντα σύμφωνα με τη σύμβαση, στην αρχή μίας συναρτησης στη στοίβα θεωρώντας οτι κρατάνε τιμές που πρέπει να διατηρούνται ανάμεσα στις κλήσεις. Στο τέλος της συνάρτησης της κάνεις pop απο τη στοίβα. Μπορεί να μην κάνεις καθόλου save ούτε το $t ούτε τις $s αλλα τότε πως θα ξέρεις τι διατηρείται ανάμεσα στις κλήσεις των συναρτήσεων...

Αρχειοθετημένο

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

  • Δημιουργία νέου...