Frage

Unter Verwendung eines binären zu verstehen objdump und ich weiß, ich bin nicht fließend genug in ASM Syntax. Was bedeutet die folgende Vorstellung?

xor    %al,-0x1(%edx,%ecx,1)

Und während Sie gerade dabei sind - was soll ich für suchen, um Dokumente über solche Begriffe zu finden

War es hilfreich?

Lösung

Die Klammern sind Speicher-Offsets:

-0x1(%edx,%ecx,1) (AT & T-Syntax) gleich [edx+ecx*1-1] (Intel-Syntax)

Kurzanleitung für den AT & T Montage Syntax (wie pro Ihre Anfrage).

Andere Tipps

Dies ist eine ausschließliche oder mit Inhalt des Low-Bytes (% Al) der ‚a‘ registrieren, und der Inhalt des Speichers an der Adresse, die die Summe der ‚d‘ breite Register 32 Bit (% EDX) , 'c' mit 1 multipliziert (% ECX, 1) und -1. Das Ergebnis wird zurückgeschrieben% al. In C

al ^= (char*)(edx+ecx*1 - 1);

Sie können Sachen wie dieser Nachschlag bei sandpile oder in der Intel / AMD-Dokumentation.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top