Warum können Montageanleitungen in der „lea“ -Anweisung Multiplikationen enthalten?

Ich arbeite an einem sehr niedrigen Teil der Anwendung, in dem die Leistung entscheidend ist.

Bei der Untersuchung der generierten Baugruppe ist mir die folgende Anweisung aufgefallen:

<code>lea eax,[edx*8+8]
</code>

Ich bin es gewohnt, bei Verwendung von Speicherreferenzen (z. B. [edx + 4]) Zusätze zu sehen, aber dies ist das erste Mal, dass ich eine Multiplikation sehe.

Bedeutet dies, dass der x86-Prozessor einfache Multiplikationen im lea-Befehl ausführen kann?Hat diese Multiplikation einen Einfluss auf die Anzahl der zur Ausführung des Befehls erforderlichen Zyklen?Ist die Multiplikation auf Potenzen von 2 begrenzt (ich würde annehmen, dass dies der Fall ist)?

Danke im Voraus.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage