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

Διαχωρισμος εντωλων assembly


steftoulos

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

Δημοσ.

εχουμε για παραδειγμα την κωδικοποιηση της εντολης 0x218c0001.σε διαδικο 0010 0001 1000 1100 0000 0000 0000 0001. το opcode της ειναι 001000. αρα αντισοιχει σε εντολη addi ή jr. πως μπορουμε να ξερουμε ποια απο τις δυο εντολες ειναι? και γενικοτερα πως ξεχωριζουμε εντολες με ιδιο opcode?

Δημοσ.

καλημέρα!

 

καταρχάς πρέπει να έχεις τη green card της αρχιτεκτονικής που μελετάς. ή τουλάχιστον να γνωρίζεις πράγματα για αυτήν.

 

πάμε τώρα στην ερώτησή σου:

 

εφόσον γνωρίζεις το op code της εντολής ξέρεις αν είναι R-type, I-type ή J-type.

 

αν θυμάμαι καλά, οι R-type εντολές έχουν ίδιο op code μόνο. τότε βλέπεις το function της εντολής και συμβουλεύεσαι την green card που προανέφερα.

 

στην αρχιτεκτονική MIPS για παράδειγμα ισχύει:

 

R-type: opcode (6) / rs (5) / rt (5) / rd (5) / sa (5) / function (6)

οπότε εφόσον δεις στα πρώτα 6 bit το op code, πας στα τελευταία 6 bit και βλέπεις και το function το οποίο ξεχωρίζει τις εντολές.

Δημοσ.

τελικα παρολο που το ψαχνα ωρες δικο μου ηταν το λαθος. οι R format εχουν opcode 000000 παντα. και αυτη η ομοιοτητα που βρηκα εινια στο opcode για I format με το function για R format. οποτε λυθηκε η απορια.

 

ωστοσο green card που εγραψες δν ξερω τι ειναι. μιλας για τον τυπο του επεξεργαστη(64,χ86)? αν μπορεις στειλε κανα link γιατι οταν κανω αναζητηση green card....

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

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

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