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.