Δημιουργός-πνευματικά δικαιώματα (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]