Was bedeutet die Klammer in " movl (%eax), %eax` bedeuten?
Habe ich genug gegoogelt, konnte aber nicht herausfinden, was die Halterung ()
bedeutet. Außerdem sehe ich einige syntax als movl 8(%ebp), %eax
Könnte jemand einige empfehlen mir ein paar gute Referenz? Ich habe nicht in der Lage zu finden in den top-20-Ergebnisse von Google.
- Möglicherweise behindert die Suche ist die Tatsache, dass AT&T und Intel haben Ihre eigenen Versionen von Montage-das ist AT&T-syntax.
- Ich hatte herausgefunden, aber ich war nicht in der Lage zu finden, eine anständige Referenz, erklärte die GNU-syntax.
Du musst angemeldet sein, um einen Kommentar abzugeben.
%eax
register EAX;(%eax)
ist der Speicherstelle, deren Adresse in dem register enthaltenen EAX;8(%eax)
ist der Speicherstelle, deren Adresse ist der Wert des EAX-plus 8.http://web.archive.org/web/20080215230650/http://sig9.com/articles/att-syntax ist eine schnelle Einführung in Unix (AT&T) - asm-syntax. Gegoogelt von
at&t asm syntax
.Die post ist "AT&T Assembly-Syntax" von vivek (http://web.archive.org/web/20080228052132/http://sig9.com/blog/vivek), 2003-09-01. Es ist eine wichtige info über AT&T es:
(Ich erinnere mich an diese Reihenfolge, wie der Aufruf von AT&T asm als echte Unix asm, so ist es Recht ein, und es fließt die Daten auf der rechten Seite, während die Intel-syntax basiert auf einigen falschen masms doc, die eindeutig nicht das richtige für Unix-Welt, Sie sind Links und Datenflüsse auf der linken Seite)
Er empfiehlt auch gnu-as (gas) docs: http://web.archive.org/web/20080313132324/http://sourceware.org/binutils/docs-2.16/as/index.html
Sind Sie bewegen Anweisungen, verschieben von Daten von einem Ort zum anderen - in diesen Fällen aus dem Speicher in ein register:
Ihre anderen Beispiel so etwas wie: