Δημιουργός-πνευματικά δικαιώματα (C) Π. Παπάζογλου Εντολή MOV Η εντολή mov είναι η πιο συνηθισμένη και χρησιμοποιείται για τη μεταφορά-φόρτωση δεδομένων εμπλέκοντας τους καταχωρητές και τη μνήμη ανάλογα την περίπτωση. Η εντολή mov έχει πολλές μορφές και ο προγραμματιστής επιλέγει την κατάλληλη ανάλογα με τη λειτουργία που επιθυμεί να πραγματοποιήσει. Σε αυτή την εντολή, ο προορισμός των δεδομένων είναι πάντα το πρώτο όρισμα. Τρόποι χρήσης
Άμεση διευθυνσιοδότηση Άμεση φόρτωση τιμής σε καταχωρητή. παράδειγμα: mov ax,10h ; ax=10h (το σύμβολο h σημαίνει ότι ο αριθμός είναι στο δεκαεξαδικό σύστημα)
Διευθυνσιοδότηση
καταχωρητή Για την προέλευση ή τον προορισμό των δεδομένων χρησιμοποιείται καταχωρητής Παραδείγματα: mov ax,cx ;ax=cx mov ax,20h ;ax=20h mov si,es:[bx] ;si=es:[bx] (το si φορτώνεται με το περιεχόμενο δύο θέσεων μνήμης ξεκινώντας από τη διεύθυνση es:[bx], όπου es δείχνει περιοχή μνήμης και το περιεχόμενο του bx τη διεύθυνση μέσα σε αυτό το τμήμα
Άμεση Διευθυνσιοδότηση μνήμης Η προέλευση μπορεί να είναι απευθείας μια διεύθυνση μνήμης Παραδείγματα: mov ax,aLabel ;όπου aLabel αντιπροσωπεύει μια διεύθυνση. Εδώ θα μεταφερθούν 2 byte mov al,[0000] ;φόρτωση απευθείας από τη διεύθυνση 0000
Έμμεση Διευθυνσιοδότηση μέσω καταχωρητή Η προέλευση καθορίζεται μέσω ενός καταχωρητή (π.χ. BX, SI, DI) Παράδειγμα: mov ax,[bx] ;πρέπει προηγουμένως το bx να περιέχει τη διεύθυνση που θα προσπελάσουμε
Σχετική Διευθυνσιοδότηση βάσης Πρόκειται για συνδυασμό άμεσης και έμμεσης διευθυνσιοδότησης. Η διεύθυνση προέλευσης προκύπτει από την απόκλιση σε σχέση με μια σταθερή διεύθυνση. Παράδειγμα: mov al,[bx+4] ;η διεύθυνση καθορίζεται από το ;περιεχόμενο του bx προσαυξημένο κατά 4
Διευθυνσιοδότηση ευρετηρίου βάσης Σε αυτή τη μορφή, η διεύθυνση προέλευσης προκύπτει από μια διεύθυνση βάσης, προσαυξημένη κατά ένα μεταβλητό αριθμό (περιεχόμενο καταχωρητή) και ένα σταθερό αριθμό. Η ευελιξία αυτής της εντολής βασίζεται στον μεταβλητό αριθμό. Παράδειγμα: mov ax,[bx+si+4] |