Πως
παριστάνεται στην κύρια μνήμη η παρακάτω εντολή; (Απευθείας τρόπος διευθυνσιοδότησης)
MOVL S #23,R1
Με την εντολή αυτή φορτώνουμε την τιμή 23 στον καταχωρητή R1. Επειδή η εντολή είναι Move Long-word, στον τελεστέο μεγέθους 6 bits (που είναι η τιμή 23) προσθέτουμε μηδενικά από αριστερά ώστε να δημιουργήσουμε μια τιμή μεγέθους 32 bits, που στη συνέχεια φορτώνεται στον καταχωρητή R1. Το παρακάτω σχήμα μας δείχνει πως η εντολή αυτή παριστάνεται στην κύρια μνήμη :
1 byte
MOVL |
Opcode
Operand specifier1 Operand specifier2 |
|||
0 (1 bit) | 0(1 bit) | 23 (6 bits) | ||
5 | R1 |
Πως
παριστάνεται στην κύρια μνήμη η παρακάτω εντολή; (Αυτοαύξηση)
CLRL (R9)+
Το παράδειγμα αυτό χρησιμοποιεί τρόπο διευθυνσιοδότησης με αυτοαύξηση.
Με την εντολή αυτή μηδενίζουμε το περιεχόμενο που βρίσκονται στη θέση μνήμης
η διεύθυνση της οποίας είναι καταχωρημένη στον καταχωρητή R9.
Στη συνέχεια το περιεχόμενο του R9
αυξάνεται
κατά 4 γιατί ο τελεστέος έχει μέγεθος 4 bytes (λόγω του γράμματος L που
περιέχεται στον κωδικό της εντολής CLR_ ).
Το παρακάτω σχήμα μας δείχνει πως η εντολή αυτή παριστάνεται στην κύρια
μνήμη:
1 byte
CLRL | |
8 | R9 |
Πως
παριστάνεται στην κύρια μνήμη η παρακάτω εντολή; (Διευθυνσιοδότηση με δείκτη)
CLRW B ARRAY[R6]
Η εντολή αυτή μηδενίζει το nο στοιχείο ενός μονοδιάστατου πίνακα
του οποίου το πρώτο στοιχείο είναι αποθηκευμένο στην κύρια μνήμη στη διεύθυνση
ARRAY.
Το στοιχείο που θα μηδενιστεί καθορίζεται από τον καταχωρητή R6.
Έστω η κωδικοποίηση της εντολής όπως φαίνεται στο παρακάτω σχήμα. Έστω
ότι η εντολή ξεκινά από τη διεύθυνση μνήμης 1000 και ότι ο καταχωρητής
R6 περιέχει την τιμή 3. Ο τρόπος διευθυνσιοδότησης καθορίζεται στο 1ο
byte του προσδιοριστή τελεστέου και έχει τον
κωδικό 4 (τρόπος διευθυνσιοδότησης με δείκτη). Η διεύθυνση ARRAY=1050
υπολογίζεται προσθέτοντας την τιμή 46 στην τιμή του PC που
είναι 1004 και είναι καταχωρημένη στον καταχωρητή R15.
Ο τρόπος που χρησιμοποιείται είναι σχετικός ως προς τον PC (με μετατόπιση).
Η τιμή 3 που είναι καταχωρημένη στον R6 (και
προσδιορίζει το 4ο στοιχείο του πίνακα ARRAY(3) )
πολλαπλασιάζεται
με το 2 γιατί τα δεδομένα του πίνακα είναι τύπου λέξης (W- 16 bits).
Η
τιμή 1056 που υπολογίστηκε είναι εκείνη που καθορίζει τη διεύθυνση της
λέξης που θα μηδενιστεί. Το παρακάτω σχήμα μας δείχνει πως η εντολή αυτή
παριστάνεται στην κύρια μνήμη :
Παράσταση εντολής στη κύρια μνήμη
1 byte
1000
1001 1002 1003 |
CLRW | Opcode
Index mode
Relative mode |
||
4 | R6 | Operand specifier | ||
10 | R15 | |||
46 |
R6
|
|
R15
|
|
1 byte
1050
1052
1054
1056 |
|
Word data
|