Assembler - Unterschied zwischen mov src, dst & mov (src), dst & lea src,dst

StudentNRW

Mitglied
Hey Leute, leider weiß ich nicht ob diese Frage im richtigen Forum ist, aber es wäre super nett, falls mir jemand hier weiterhelfen würde. Ich habe mir viele Antworten bereits hierzu durchgelesen, aber ich bin mir einfach nicht hundertprozentig sicher. Kann jemand vielleicht kurz den Unterschied zwischen diesen 3 Anweisungen erklären ? Schreibweise AT&T.

Bei lea ist es so, dass die Adresse von src zu dst übermittelt wird und bei mov src, dst einfach das Register. Aber was macht dann die Klammer genau ? Es soll ja auf den Inhalt des Registers zeigen, so wie ich es verstanden habe. Aber was wäre denn der Inhalt ? Wenn z.B. eine Variable angelegt wurde, dann wird der Wert der Variablen bei der Anweisung ohne Klammer übermittelt, bei der Anweisung mit der Klammer der Variablen-Name ? Und bei der lea-Anweisung dann die Adresse, an der die Variable gespeichert ist ? Danke für jede Antwort !!
 

httpdigest

Top Contributor
Bei der Klammer wird das Register als Adresse verstanden (indirect operand). Es wird dann also nicht der Inhalt des Registers `src` nach `dst` kopiert, sondern der Inhalt des virtuellen Speichers an der Adresse, die in `src` steht.
 

Ähnliche Java Themen

Neue Themen


Oben