CodeLan
Administrator
Dołączył: 03 Lis 2006
Posty: 171
Przeczytał: 0 tematów
Pomógł: 3 razy Ostrzeżeń: 0/5 Skąd: Z pod skrzydeł Google.pl
|
Wysłany: Nie 7:26, 17 Cze 2007 Temat postu: Instrukacja MOV |
|
|
Mov jest jedną z częściej używanych a może nawet najczęściej używaną instrukcją, toteż poznamy ją już na samym początku.
Nazwa instrukcji (mov - move - przesuń) jest dość myląca, gdyż mov służy do kopiowania wartości między pamięcią a rejestrami, lub między rejestrami wyłącznie.
W praktyce oznacza to często, że mov używa się do nadawania rejestrom określonych wartości np. ustawienie rejestru AX na wartość 09H (AX=09H).
Składnia:
MOV cel,zrodlo
Zarówno zrodlo jak i cel mogą być rejestrem, lub komórką pamięci, ale równocześnie tylko jeden z operatorów może być pamięcią tzn. nie możemy przesyłać danych bezpośrednio na linii pamięć-pamięć, trzeba to zrobić za pomocą dwóch transferów - pamięć-rejestr i rejestr-pamięć.
Bez trudu natomiast można kopiować wartość jednego rejestru do innego np.:
Mov AX,BX
Mam nadzieję, że jest to zrozumiałe, zanim więc zakończę - dwie anomalie mov, które trzeba sobie dobrze zapamiętać:
Mov kopiuje a nie przenosi wartości, czyli po wykonaniu polecenia wartość "zrodlo" nie zostaje zmieniona ani wyzerowana.
W składni mov najpierw podajemy cel, później źródło - nie jest to pomyłka, aczkolwiek do pomyłek niekiedy prowadzi, gdyż jest niezgodne z ludzkim tokiem rozumowania:).
I to w zasadzie byłoby wszystko - zachęcam do zadawania pytań i nadsyłania komentarzy, no i jeszcze przykładowy program do ściągnięcia i przemyślenia - zawiera przykłady wszystkich trzech omówionych powyżej transferów.
Post został pochwalony 0 razy
|
|