User Tools

Site Tools


bune-practici

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
bune-practici [2015/11/30 15:20]
catalin.vasile3004 [Confuzii la accesarea datelor în memorie (operatorul de dereferenţiere)]
bune-practici [2015/11/30 15:25]
catalin.vasile3004 [Confuzii la accesarea datelor în memorie (operatorul de dereferenţiere)]
Line 26: Line 26:
  add eax, var ; add to eax, the >>​address<<​ of var  add eax, var ; add to eax, the >>​address<<​ of var
 </​code>​ </​code>​
-Acest cod este echivalent cu următorul cod din C:+Acest cod este echivalent cu următorul cod din **C**:
 <code c> <code c>
 int var = 34; int var = 34;
Line 46: Line 46:
 eax = eax + var; /* add eax, [var] */ eax = eax + var; /* add eax, [var] */
 </​code>​ </​code>​
 +Printre singurele instrucţiuni care fac abatare de la aceste reguli, este **lea** (load effective address).
 +<code asm>
 +section .data
 + var: DD 34
 +section .text
 + lea eax, [var] ; put var's >>​address<<​ into the eax register
 +</​code>​
 +În rest, toate celelalte instrucţiuni aderă la regulile enunţate mai sus. Dacă or mai exista şi alte instrucţiuni care se comportă ca **lea**, cel mai probabil nu vor fi tratate în aceste laboratoare.
 ==== Încărcarea datelor în registre ==== ==== Încărcarea datelor în registre ====
 Adesea apar erori chiar la încărcarea datelor în registre. Adesea apar erori chiar la încărcarea datelor în registre.
bune-practici.txt · Last modified: 2015/11/30 21:08 by catalin.vasile3004