Baugruppendifferenz und Bewegungsdifferenz [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Verwenden Sie LEA für Werte, die keine Adressen / Zeiger sind? 3 Antworten
leal(%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 ??

bedeutet "()" nicht "referenziert"?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage