MOV (instrucțiuni)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

MOV este codul mnemonic al unei declarații din septembrie numărul de procesoare x86 .

Scopul instrucțiunii este copierea datelor. Asamblarea limbii x86 are un Opcode diferit pentru a descrie o operație MOV, în funcție de procesorul în modul Real sau în modul Protejat , în funcție de faptul dacă transferul este un octet , un cuvânt sau un dword și, în al doilea rând, dacă transferul are loc între două registre , între un registru și o locație de memorie , sau între două locații de memorie.

Sintaxă

Sintaxa instrucțiunii conform Intel este:

 MOV dest, sursă

În timp ce conform AT&T:

 Sursa MOV, dest

dest poate reprezenta un registru sau o locație de memorie, în timp ce sursa în plus față de cele două anterioare poate fi, de asemenea, un număr. Rețineți că, la sfârșitul instrucțiunii, valoarea sursei rămâne neschimbată, în timp ce valoarea dest este egală cu sursa .

Detalii

Nu este posibil să vă deplasați între registre de dimensiuni diferite, de exemplu, această instrucțiune este nevalidă:

 MOV EBX, AL

Deoarece EBX este un registru pe 32 de biți, în timp ce AL este pe 8 biți. Pentru aceasta, consultați instrucțiunile MOVZX . În plus, această operațiune nu poate fi efectuată între două registre de segmente sau registre speciale (TR0 - TR7, CR0 - CR4, DR0 - DR7):

 MOV DS, ES

dar va trebui să parcurgeți un registru cu scop general:

 MOV AX, ES
MOV ES, AX

De asemenea, este interzisă copierea directă a unui număr într-unul din aceste registre.

Steaguri

Această operațiune nu afectează niciun semnalizator.

Particularități

Înainte de actualizarea registrului de segmente SS, întreruperile sunt dezactivate pe procesor (pe unele procesoare, toate registrele de segmente), numai pentru a fi reactivate la final. Acest lucru se datorează faptului că întreruperile folosesc adesea stiva, care în acel moment suferă o schimbare.

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT