Πίσω

Δραστηριότητα 12

* Να εξηγήσετε με ποιον τρόπο έχει κωδικοποιηθεί η παρακάτω εντολή του VAX: ADDI3 R1, 737(R2), (R3)
* Ποιο είναι το συνολικό μήκος της εντολής σε bytes;


Απάντηση δραστηριότητας 12

Η κωδικοποίηση της εντολής είναι μεταβλητή. Το όνομα ADDΙ3 εκφράζει μία 32-bit εντολή ακεραίων με τρεις τελεστέους, και αυτός ο κωδικός πράξης καταλαμβάνει 1 byte. Ένας προσδιοριστής τελεστέου του VAX είναι 1 byte, με τα 4 πρώτα bits να καθορίζουν τον τρόπο διευθυνσιοδότησης και τα επόμενα 4 bits τον καταχωρητή που χρησιμοποιείται σ' αυτόν τον τρόπο διευθυνσιοδότησης. Ο πρώτος προσδιοριστής τελεστέου (R1) προσδιορίζει διευθυνσιοδότηση καταχωρητή με χρήση του καταχωρητή R1, και αυτός ο προσδιοριστής έχει μήκος 1 byte. Ο δεύτερος προσδιοριστής τελεστέου (737(R2)) προσδιορίζει διευθυνσιοδότηση με δείκτη. Έχει δύο τμήματα : Το πρώτο είναι 1 byte που καθορίζει τον 16-bit τρόπο διευθυνσιοδότησης με δείκτη και τον καταχωρητή βάσης (R2). Το δεύτερο τμήμα είναι η μετατόπιση μήκους 2byte (737). Ο τρίτος προσδιοριστής τελεστέου (R3) καθορίζει τον τρόπο διευθυνσιοδότησης εμμέσου καταχωρητή, χρησιμοποιώντας τον καταχωρητή R3. Επομένως, αυτή η εντολή έχει δύο προσπελάσεις στα δεδομένα της μνήμης, και το συνολικό μήκος εντολής είναι: 1 + (1) + (1+2) + (1) = 6 bytes.