Ich versuche, was Anweisung der Versammlung, um herauszufinden, ich weiß, dass es mit SSE2 ein Gleitkommaaddition auf eine x86-64-Maschine ist. Außerdem weiß ich, dass% xmm0 ein Register ist. Was ich jedoch nicht weiß, ist was -8 (% rbp) bedeutet. Die Handbücher sind ein wenig verwirrend.Was bewirkt die folgende Assembly-Anweisung addsd -8 (% rbp),% xmm0? tatsächlich tut</p> <pre><code>addsd -8(%rbp), %xmm0 </code></pre> <p>
Grundsätzlich ist die Frage, bedeutet -8 (% rbp), dass es einen Wert aus einem Register nimmt (vielleicht die letzten 8 Bytes von rbp) oder nimmt es einen Wert aus dem Speicher (Fließkommawert bei einem Offset von -8 von der in rbp enthaltenen Adresse).
Ihre zweite Vermutung ist richtig. Es greift auf den Wert bei '-8' Byte Offset von Adresse 'rbp' zu. – Mysticial
Hey Mysticial, können Sie auf eine Referenz verweisen, die das leicht erklärt? – owagh
Verwirrende AT & T-Syntax schlägt wieder. – harold