Baugruppendifferenz und Bewegungsdifferenz [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Verwenden Sie LEA für Werte, die keine Adressen / Zeiger sind? 3 Antwortenleal(%eax,%ecx,4), %edx
Wie ich aus meinem Buch über Computersysteme gelesen habe, bedeutet x + 4y in% edx, wenn $ eax einen x-Wert und% ecx ein y enthält.
dann wenn es ist
movl(%eax,%ecx,4), %edx
, dann ist es nicht dasselbe mit leal Ausdruck oben?
Wie ich weiß, erstellt leal eine Adresse, auf die verwiesen werden kann, und zwar nicht wie movl, sondern als solche
als ich gesehen habeleal(%eax,%ecx,4), %edx
gleich setzenx+4y
inedx
registrieren, dann nichtt it mean that it 'referenced'
% eaxand
% ecx` und extrahierter Wert x und y zur Verwendung der Berechnung ??