Question

Utilisation objdump pour comprendre un binaire et je me rends compte que je ne suis pas assez couramment dans la syntaxe de l'ASM. Que signifie la notion suivante signifie?

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

Et pendant que vous y êtes - que dois-je chercher pour trouver de la documentation sur ces notions

Était-ce utile?

La solution

Les parenthèses sont des décalages de mémoire:

-0x1(%edx,%ecx,1) (AT & T syntaxe) est égale à [edx+ecx*1-1] (syntaxe Intel)

Guide rapide pour AT & T syntaxe d'assemblage (selon votre demande).

Autres conseils

Ceci est un OU exclusif avec le contenu de l'octet de poids faible (% Al) de la « a » enregistrement et le contenu de la mémoire à l'adresse qui est la somme des (% EDX) de large registres d »32 bits , 'c' multiplié par 1 (% ecx, 1) et -1. Le résultat est réécrite% al. En C

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

Vous pouvez rechercher des trucs comme ça ou sandpile le processeur Intel / documentation amd.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top